केवल NT4 से ext4 से सिंक्रनाइज़ करते समय केवल परिवर्तित फ़ाइलों को दिखाएं


9

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

तो, क्या rsync का उपयोग करके निर्देशिकाओं को प्रिंट नहीं करने का एक तरीका है?

Im इस grep -v "*/$"तरह के उत्तरों की तलाश में नहीं है क्योंकि यह नई निर्देशिकाओं को भी बाहर कर देगा।

कमांड मैं उपयोग कर रहा हूं: rsync -avh --delete /media/data/src /media/data/bkp

और हर बार यह सभी निर्देशिकाओं की सूची प्रिंट करता है:

src/dir1/

src/dir1/sdir1/

src/dir1/sdir2/

src/dir2/

संपादित करें: ठीक है, कुछ गहन परीक्षणों के बाद .. यह सभी निर्देशिकाओं को प्रिंट नहीं करता है जब एक ext4 विभाजन से एक ext4 और NTFS से NTFS तक समन्वयित होता है। यह केवल जब ext4 से NTFS के लिए सिंक्रनाइज़ किया जा रहा है .. और विकल्प -cया --omit-dir-timesबदल नहीं है।

जवाबों:


4

आप --omit-dir-timesनिर्देशिका समय को अनदेखा करने के लिए स्विच का उपयोग करने का प्रयास कर सकते हैं (rsync मैन पेज पर एक नज़र डालें)।

मुझे व्यक्तिगत रूप से पता चलता है कि -cस्विच का उपयोग करना यह सुनिश्चित करने का सबसे अच्छा तरीका है कि केवल उन फ़ाइलों को जिनकी सामग्री को बदल दिया गया है आउटपुट में दिखाई दें।

ध्यान दें कि उपयोग -cकरने से rsync धीमा हो जाएगा।


उत्तर के लिए धन्यवाद। मुझे विश्वास है कि यह मूल रूप से समर्थित नहीं है, कम से कम पूर्णता (या विकल्प) खोए बिना विश्वास करना मुश्किल है .. मुझे बस इस पर भरोसा करना होगा कि यह सब समान हो जाता है।
20

क्षमा करें, मेरे उत्तर ने आपके उत्तर के बाद प्रश्न को बदल दिया।
qox

1

माउंट प्रकार को बदलने के बजाय आप rsync को फ़ाइल सिस्टम की प्रतिलिपि बनाते समय फ़ाइल अनुमतियों को अनदेखा करने के लिए भी कह सकते हैं जो इसका समर्थन नहीं करता है। निम्नलिखित कमांड मेरे लिए काम करती है।

Rsync मैन पेज से:

सारांश में: गंतव्य फ़ाइलों (पुराने और नए दोनों) को स्रोत की अनुमति देने के लिए, उपयोग करें - शस्त्र। नई फ़ाइलों को गंतव्य-डिफ़ॉल्ट अनुमतियाँ देने के लिए (मौजूदा फ़ाइलों को अपरिवर्तित छोड़ते समय), सुनिश्चित करें कि --perms विकल्प बंद है और उपयोग करें --chmod = ugo = rwX (जो यह सुनिश्चित करता है कि सभी गैर-नकाबपोश बिट्स सक्षम हो जाएं)। यदि आप इस बाद वाले व्यवहार को टाइप करने में आसान बनाना चाहते हैं, तो आप इसके लिए एक पोप उर्फ ​​को परिभाषित कर सकते हैं, जैसे कि इस लाइन को फाइल में डालना ~ / .popt (निम्नलिखित -Z विकल्प को परिभाषित करता है, और इसमें शामिल हैं-no- जी गंतव्य गंतव्य के डिफ़ॉल्ट समूह का उपयोग करने के लिए):

rsync alias -Z --no-p --no-g --chmod=ugo=rwX

1

-a का उपयोग न करें, इसमें -p -o -g होता है।


आप अभी भी उपयोग कर सकते हैं -aयदि आप चाहते हैं, और उसके बाद --no-o --no-p --no-gमालिक, समूह और अनुमतियों को छोड़ दें।
इयान डन

0

लगता है कि यह एक अनुमति मुद्दा था। निश्चित नहीं कि क्यों .. लेकिन मैंने NTFS विभाजन के लिए / etc / fstab संपादित किया है और यह अब अपेक्षा के अनुरूप काम करता है, अर्थात निर्देशिकाओं की कोई छपाई जो संशोधित नहीं की गई है।

पुराना fstab प्रविष्टि: ntfs-3G उपयोगकर्ता, चूक, निष्पादन, यूआईडी = 1000 0 0

नई fstab प्रविष्टि: ntfs-3G उपयोगकर्ता, चूक, निष्पादन, यूआईडी = 1000, gid = 1000, dmask = 077, fmask = 137 0 0

Im अनुमान लगाना (जो जानता है ..) dmask = 077 ने 'drwxrwx' के बजाय चाल यानी 'drwx ---' किया।


-1

मैंनें इस्तेमाल किया:

sudo rsync -auzhni --progress --omit-dir-times --no-o  src_dir/ dst_dir 

यह एक ड्राई रन (विकल्प n) है। rsyncफ़ाइलों को वास्तव में स्थानांतरित करने के लिए उस विकल्प को हटा दें ।

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