मेरे पास एक फ़ोल्डर / a और एक दूरस्थ फ़ोल्डर A / है। मैं अब कुछ इस तरह एक Makefile पर चलाने के लिए:
get-music:
rsync -avzru server:/media/10001/music/ /media/Incoming/music/
put-music:
rsync -avzru /media/Incoming/music/ server:/media/10001/music/
sync-music: get-music put-music
जब मैं सिंक-म्यूजिक बनाता हूं, तो यह पहले सर्वर से लोकल और फिर इसके विपरीत, सभी डिफरेंशियल को लोकल से सर्वर में भेज देता है।
यह बहुत अच्छी तरह से काम करता है अगर भविष्य में सिर्फ अपडेट या नई फाइलें हैं। यदि वहाँ विलोपन हैं, तो यह कुछ नहीं करता है।
Rsync में वहाँ है --delete और --delete- के बाद विकल्पों को पूरा करने में मदद करने के लिए कि मुझे क्या चाहिए, लेकिन बात यह है, यह 2-तरह-सिंक पर काम नहीं करता है।
अगर मैं किसी स्थानीय फ़ाइल को हटाए जाने पर, किसी सिंक पर सर्वर फ़ाइलों को हटाना चाहता हूं, तो यह काम करता है, लेकिन अगर, किसी कारण से (मेरे द्वारा समझाया गया है) तो मेरे पास कुछ फाइलें हैं जो सर्वर में नहीं हैं, लेकिन स्थानीय रूप से मौजूद हैं और उन्हें हटा दिया गया है। मैं चाहता हूं कि स्थानीय रूप से उन्हें हटा दिया जाए और सर्वर को कॉपी नहीं किया जाए (जैसा कि ऐसा होता है)।
बात यह है कि मेरे पास संदर्भ में 3 मशीनें हैं:
- डेस्कटॉप
- स्मरण पुस्तक
- घर-सर्वर
इसलिए, कभी-कभी, सर्वर में वे फाइलें होंगी, जिन्हें नोटबुक सिंक के साथ हटा दिया गया था, उदाहरण के लिए और फिर, जब मैं अपने डेस्कटॉप के साथ एक सिंक चलाता हूं (जहां हटाए गए सर्वर फाइलें अभी भी मौजूद हैं) मैं चाहता हूं कि ये फाइलें हटा दी जाएं और न हों सर्वर पर फिर से कॉपी किया गया।
मुझे लगता है कि यह केवल एक डेटाबेस और संचालन के ट्रैक के साथ संभव है: पी
कोई सरल उपाय? धन्यवाद।