rsync का उपयोग नहीं कर रहा है - विकल्प से विकल्प?


13

मैं दौड़ने की कोशिश कर रहा हूं rsync -a --files-from=~/.rsync_file_list ~/destinationऔर यह मुझे बताता है rsync error: syntax or usage error (code 1) at options.c(1652) [client=3.0.7]:। क्या कोई मुझे बता सकता है कि मैं क्या गलत कर रहा हूं?

फ़ाइल ~/.rsync_file_listमें फ़ाइल नामों की एक सूची शामिल है ~/, जो कि पहले से ही अलग-अलग हैं (हालांकि मैंने उन सभी को एक ही पंक्ति में, एक ही परिणाम के साथ सूचीबद्ध करने की कोशिश की है)।

अगर मैं चला तो rsync -a ~/file ~/file2 ~/file3 ~/destinationयह ठीक काम करता है। तो मैं --files-fromविकल्प के बारे में क्या याद कर रहा हूं ?


कोशिशsed "s#~/#/home/wolf/#g" -ie ~/.rsync_file_list
एंडी

@ ऑंडी: काश, एक ही परिणाम।
वुल्फ

जवाबों:


20

ठीक है, मुझे समस्या मिल गई।

  1. फ़ाइल नाम वाली फ़ाइल में केवल फ़ाइल नाम शामिल हैं; कोई रास्ता नहीं, रिश्तेदार या अन्यथा;
  2. निर्दिष्ट करने के बाद --files-from=FILE, rsync को एक स्रोत निर्देशिका की आवश्यकता होती है जिसमें सूचीबद्ध फ़ाइलों को खोजने के लिए।

तो कमांड होना चाहिए rsync -a --files-from=~/.rsync_file_list $HOME/ /destination

.rsync_file_list पढ़ना चाहिए:

file 1
file 2
file 3

3
सुधार: दिए गए फ़ाइल में फ़ाइल नाम स्रोत निर्देशिका के सापेक्ष हैं, लेकिन इसके ऊपर नहीं (नहीं ../) हो सकते हैं। लीडिंग स्लैश को अनदेखा किया जाएगा, इसलिए निरपेक्ष पथ काम नहीं करते हैं।
वुल्फ

मेरा मानना ​​है कि आप अपने स्वयं के उत्तर को संपादित कर सकते हैं और इस बहुत अच्छे जोड़ और प्रासंगिक जानकारी को जोड़ सकते हैं जो आपको उत्तर में बाद में ही मिली।
विनियस एम।

0

"~" का उपयोग करना "फाइल-से" फाइल के अंदर काम नहीं कर सकता जब तक कि rsync "~" प्रतीक को पहचानने और अनुवाद करने के लिए पर्याप्त स्मार्ट न हो।

जब आप अपने शेल की कमांड लाइन में एक कमांड के भाग के रूप में "~" निर्दिष्ट करते हैं, तो यह शेल ही है जो प्रोग्राम के साथ तर्क पास करने से पहले "~" को आपके होम डायरेक्टरी में कनवर्ट करता है । तो भले ही आप टाइप करते हैं rsync -a ~/file, लेकिन जो rsync"देखता है" वास्तव में सुलझाया हुआ रास्ता है, या rsync -a /home/foo/file

देखें बैश टिल्ड विस्तार अधिक जानकारी के लिए।

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