जब आप उपयोग कर रहे थे तब आपकी कमांड काम नहीं कर रही थी /var/www/*
स्रोत के रूप में , तो आपका शेल उस पर ग्लोबिंग कर रहा है अर्थात शेल *
उस डायरेक्टरी की सभी फाइलों में विस्तार कर रहा है और फाइलों को एक-एक करके कॉपी करता जा रहा है, इसलिए यहां व्यक्तिगत फाइल्स के बजाय स्रोत बन गए हैं मूल निर्देशिका।
इसलिए, यदि आप उपयोग करते हैं /var/www/*
, तो आपको --recursive
विकल्प की आवश्यकता नहीं है क्योंकि *
फ़ाइलों को कॉपी करने का कारण होगा (किसी भी निर्देशिका के साथ उनकी सामग्री के साथ), न कि माता-पिता की निर्देशिका जिसमें फाइलें शामिल हैं। उसी कारण --delete
से काम नहीं कर रहा है, क्योंकि --delete
गंतव्य निर्देशिका से फ़ाइलें निकाल देगा जो स्रोत निर्देशिका में नहीं हैं , लेकिन आप फ़ाइलों को कॉपी कर रहे हैं ताकि इसकी फ़ाइलों को हटा न सकें (अपेक्षित रूप से)।
यह आपको अधिक स्पष्ट करेगा:
/foo$ ls -l
-rw-rw-r-- 1 user user 0 Apr 16 17:56 egg
-rw-rw-r-- 1 user user 0 Apr 16 17:56 spam
drwxrwxr-x 2 user user 4096 Apr 16 18:14 test
/bar$ ls -l
-rw-rw-r-- 1 user user 0 Apr 16 17:56 egg
-rw-rw-r-- 1 user user 0 Apr 16 18:13 lion
-rw-rw-r-- 1 user user 0 Apr 16 17:56 spam
$ rsync -avz --ignore-existing --recursive --delete
/foo/* /bar/
+ rsync -avz --ignore-existing --recursive --delete
/foo/egg /foo/spam /foo/test /bar/
sending incremental file list
test/
test/hello
sent 173 bytes received 39 bytes 424.00 bytes/sec
total size is 0 speedup is 0.00
/bar$ ls -l
-rw-rw-r-- 1 user user 0 Apr 16 17:56 egg
-rw-rw-r-- 1 user user 0 Apr 16 18:13 lion
-rw-rw-r-- 1 user user 0 Apr 16 17:56 spam
drwxrwxr-x 2 user user 4096 Apr 16 18:14 test
जैसा कि आप देख सकते हैं, मैंने स्रोत का उपयोग किया है /foo/*
इसलिए rsync
कमांड को निष्पादित किया जा रहा है
rsync -avz --ignore-existing --recursive --delete /foo/egg
/foo/spam /foo/test /bar/
साथ *
खोल जिससे यह विस्तार करने के लिए और स्रोत तर्क, नहीं एक पूरे के रूप मूल निर्देशिका के रूप में व्यक्तिगत रूप से सभी फाइलों को बनाने (और आप भी जरूरत नहीं है --recursive
इस मामले में)।
इसलिए, यदि आप --delete
काम करना चाहते हैं, तो इसे निम्नानुसार चलाएं:
rsync -avz --ignore-existing --recursive --delete
/var/www/ root@mydomaintest.com:/var/www/