किसी निर्देशिका को स्वचालित रूप से संग्रहीत करने के लिए कैसे?


47

मैं एक तरह से सिंक्रोनाइजेशन करना चाहता हूं।

मैं Folder Aअपने कंप्यूटर पर हूं जो लगातार सामग्री के साथ अद्यतन किया जाता है।
एक अन्य Folder Bका उपयोग बैकअप उद्देश्य के लिए किया जाता है जो बाहरी HDD पर है।

अब मुझे उम्मीद है कि फोल्डर ए में जो भी अतिरिक्त मौजूद है, उसे फोल्डर बी में जाना चाहिए। हालांकि ऐसा कुछ जो बी में मौजूद है और ए में नहीं "" ए की नकल नहीं किया जाएगा।

संक्षेप में, बैकअप फ़ोल्डर स्रोत फ़ोल्डर से सब कुछ कॉपी कर सकता है, हालांकि स्रोत के लिए फॉर्म बैकअप फ़ोल्डर में कुछ भी कॉपी नहीं किया जाना चाहिए।


यह सिंक्रनाइज़ेशन नहीं है ....
Braiam

@Braiam तब इसे क्या कहा जाता है? मैं खुद ओपी जैसे शब्द के साथ नहीं आ सकता। अगर आपको पता हो तो कृपया बताएं
जो स्मो

@JoSmo कॉपी? पुरालेख? बैकअप?
Braiam

@Braiam धन्यवाद, अब मैं पूछने के लिए बेवकूफ लग रहा है। : डी
जो स्मो

जवाबों:


63

Rsync के लिए एक सही कार्य की तरह लगता है

sudo rsync -az /path_to/A /path_to/B

-एक संग्रह मोड (पुनरावर्ती का अर्थ है, सहानुभूति के रूप में सहानुभूति की प्रतिलिपि बनाएँ, मालिक को संरक्षित करें, संशोधन समय, समूह, स्वामी, विशेष और डिवाइस फ़ाइलें)

-z डेटा को कंप्रेस करता है

यदि आप B की फ़ाइलों में से A में हटाई गई फ़ाइलों को हटाना चाहते हैं, तो --deleteविकल्प का उपयोग करें

अतिरिक्त जानकारी के लिए देखें:

https://help.ubuntu.com/community/rsync

आप क्रोन से rsync चला सकते हैं

sudo crontab -e

एक घंटे के कार्य में जोड़ें

@hourly rsync /path_to/A /path_to/B

https://help.ubuntu.com/community/CronHowto


7
यदि फ़ोल्डर्स के भीतर फ़ोल्डर हैं, तो आपको -r विकल्प का उपयोग करना होगा।
जॉन एस ग्रुबर

2
मैं पार्टी के लिए थोड़ा लेट हो गया हूं, लेकिन हार्ड ड्राइव कनेक्ट होने पर सिंक्रोनाइज़ेशन स्क्रिप्ट चलाने के लिए आपको udev का उपयोग करना चाहिए। थोड़ी देर पहले से इस प्रश्न की जाँच करें। askubuntu.com/questions/25071/…
jackweirdy

1
@ जोहानसुबेर-ए विकल्प का अर्थ है पुनरावर्ती, मैं इस बिंदु को इंगित करने के लिए संपादित करूंगा
टॉमस

1
यदि फ़ाइलें एक ही मशीन पर हैं -zतो प्रक्रिया को धीमा कर दें
Postadelmaga

1
@JoSmo - askubuntu.com/questions/476041/… और askubuntu.com/questions/609968/… और आदमी rsync और एक नया प्रश्न पूछें, यदि आवश्यक हो तो टिप्पणी में पूछें।
पैंथर

15

मैं इस उद्देश्य के लिए rsync का उपयोग करने का सुझाव दूंगा। रुपीस बेहद तेज, स्थिर और बहुमुखी है। Http://help.ubuntu.com/community/rsync पर अच्छा परिचय है

यदि आप चाहें, तो एक वैकल्पिक ग्राफिक फ्रंट एंड है: grsync

 sudo rsync -azv --exclude 'dir1' /home/path/folderA/ /home/path/folderB

ऊपर दिए गए आदेश फ़ोल्डर से फ़ोल्डरबॉरी को कॉपी करेंगे dir1 को छोड़कर। झंडे हैं

-a preserves time stamps
-z is to enable compression
-v verbose

कई और विकल्प उपलब्ध हैं।


8

मैंने हमेशा यूनिसन को बहुत मददगार पाया। इसमें एक पाठ आधारित या जीयूआई आधारित इंटरफ़ेस है, और जो आप चाहते हैं उसे थोड़ा अलग करने के लिए इसे थोड़ा अलग विकल्प हैं (थोड़ी सी झल्लाहट के साथ)। पहले सिंक को करने में काफी समय लगता है, लेकिन इसके बाद यह शानदार है। आप इसे एकतरफा बना सकते हैं, जैसा आप चाहते हैं, लेकिन यह बहुत अधिक स्वचालित रूप से प्राप्त करेगा। यह बैकअप से डिलीट भी कर सकता है या नहीं जैसा आप चुनते हैं।

आपको उन अनुमतियों के साथ समस्याएँ भी मिल सकती हैं जो ubuntu फ़ाइल प्रारूप में समर्थित हैं, लेकिन शायद बाहरी हार्ड ड्राइव में नहीं (यह निर्भर करता है कि बाहरी हार्ड ड्राइव का उपयोग विंडोज़ मशीन में होने जा रहा है, यह एक अच्छी बात हो सकती है), इसलिए आप संभावित रूप से अनुमतियों के बिना सिंक करना चाहते हैं।

वैसे भी, अच्छी बात यह है कि ट्यूटोरियल के साथ यह एक बार स्थापित करने के लिए अपेक्षाकृत सरल है, और इसके बाद जब भी आप इसे करना चाहते हैं तो यह एक जीयूआई इंटरफ़ेस है।

इसके बारे में कुछ जानकारी यहाँ दी गई है: http://www.ubuntugeek.com/unison-file-synchronization-tool.html

और यहाँ ट्यूटोरियल: http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#tutorial


4
rsync -avPr --ignore-existing /home/username/Research/ /path/to/other/folder/on/hdd/

यह केवल उस डेटा को सिंक और कॉपी करेगा जो इसमें मौजूद नहीं है /other/folder/on/hdd/


2

मैं अन्य उत्तरों से सहमत हूं, आप टर्मिनल में rsync या इंटरफेस Grsync , luckyBackup , Conduit या प्रसिद्ध Unison में उपयोग कर सकते हैं ।

एक अन्य शानदार ऐप क्रैसर (KDE के लिए एक ट्विन-पैनल फ़ाइल प्रबंधक) है, टूल मेनू में आप "निर्देशिकाएँ संरेखित करें" पा सकते हैं, बहुत उपयोगी है।

पिछले उदाहरण में आप वाइन स्थापित कर सकते हैं और टोटल कमांडर की तरह एक और बेहतरीन ट्विन-पैन फाइल मैनेजर स्थापित कर सकते हैं ।

वैसे भी आपके पास बहुत सारे विकल्प हैं और ये सभी उबंटू सॉफ्टवेयर सेंटर में मौजूद हैं।


1

मैं सरल तुल्यकालन के लिए नाली की सिफारिश करूंगा। यह सॉफ्टवेयर प्रणाली उपलब्ध है। यह वही करता है जो आप ढूंढ रहे हैं


0

Rsnapshot - http://www.rsnapshot.org/ - स्थानीय और दूरस्थ प्रणालियों के बैकअप बनाने के लिए फाइलसिस्टम स्नैपशॉट उपयोगिता नामक एक काफी आसान शेल उपकरण है । जो rsync और हार्ड लिंक का उपयोग करता है, जो कई, पूर्ण फ़ाइल सिस्टम बैकअप को तुरंत उपलब्ध रखना संभव बनाता है। बस करो sudo apt-get install rsnapshotऔर जांच करोinfo rsnapshot


0

आप दो direcotries के अंदर फ़ाइलों को सिंक कर सकते हैं:

rsync -rv /path/to/directory1/ /path/to/directory2

ऐसा करने से rsync -rv /path/to/directory1 /path/to/directory2पैदा करेगा directory1अंदर directory2, इस तरह/path/to/directory2/directory1/[files]

आप -nइस तरह स्विच का उपयोग करके चला सकते हैंrsync -rnv /path/to/directory1/ /path/to/directory2

संदर्भ: https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps


0

यदि आप किसी ऐसे सिस्टम पर एक ग्राफिकल इंटरफ़ेस चाहते हैं जो अत्यधिक विन्यास योग्य है, तो FreeFileSync को आज़माएं। उदाहरण के लिए देखें: http://linuxnorth.wordpress.com/2011/11/29/file-and-folder-synchronization/ विशेष रूप से, आप सिंक्रनाइज़ेशन के लिए "अपडेट" विकल्प चाहते हैं जो नई या अपडेट की गई फ़ाइलों को कॉपी करेगा। राइट फोल्डर ”, यानी दो विंडो डिस्प्ले में लेफ्ट फोल्डर से राइट फोल्डर में कॉपी करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.