जैसा कि मैं देख सकता हूं rsync
फ़ाइल पथ में निर्देशिका में से कुछ निर्देशिका मौजूद नहीं है, तो फ़ाइल को सिंक नहीं कर सकता। यह mkdir -p
कमांड के साथ इस निर्देशिका को क्यों नहीं बनाता है? शायद इसके लिए एक विकल्प है? -r
विकल्प उस मामले में काम नहीं करता है।क्यों rsync पी विकल्प के बिना mkdir का उपयोग करता है
उत्तर
किसी ने यहाँ एक समान प्रश्न पूछा:
rsync: how can I configure it to create target directory on server?
यह rsync
की तरह नहीं दिखता है कि ऐसा करने में सक्षम है। आपको rsync
निष्पादित करने से पहले लक्ष्य निर्देशिका पर mkdir -p
एक रैपर स्क्रिप्ट लिखनी होगी। यदि आपकी लक्षित निर्देशिका किसी भिन्न सर्वर पर है, तो आप ssh
के माध्यम से स्क्रिप्ट में mkdir -p
कमांड चलाने में सक्षम हो सकते हैं।
मैं, एक ही समस्या आप के रूप में ही सामना करना पड़ा है, तो दूरदराज के लक्ष्य की सूची "/root/test
" है और मैं rsync
उपयोग करने के लिए दूरदराज के निर्देशिका "/root/test/aaa/bbb
" करने के लिए अपनी फ़ाइलें दोहराने के लिए, फिर "failed: No such file or directory (2)
" बाहर वर्बोस जाएगा चाहते हैं। सबसे अच्छा समाधान है, रिमोट होस्ट पर उप-निर्देशिका बनाने के लिए "ssh <username>@<remoteHostIP> mkdir -p <absolute_path>
" आदेश दें। फिर rsync
कमांड सफलता का उपयोग करें।
अंत में मैं वही करता हूं। ऐसा लगता है कि rsync निर्देशिका को दोबारा बनाने के लिए मनाने का कोई सुविधाजनक तरीका नहीं है – z3ple