2011-01-25 13 views
5

पर सिम्लिंक को हटाना नहीं चाहता rsync का उपयोग करके, मेरी स्रोत निर्देशिका में कई फाइलें और निर्देशिकाएं हैं। मेरा गंतव्य पहले ही सिंक हो गया है, इसलिए यह उन फ़ाइलों और निर्देशिकाओं को प्रतिबिंबित करता है।rsync --delete का उपयोग कर, लेकिन गंतव्य

हालांकि, मैं हस्तचालित रूप से अपने गंतव्य में एक सिमलिंक कि मेरे स्रोत में मौजूद नहीं है बनाया है।

मुझे rsync में --delete ऑपरेशन का उपयोग करने की आवश्यकता है। Symlink को हटाने के लिए rsync प्राप्त करने का कोई तरीका है?

+0

हो सकता है कि '--copy-dirlinks' आपकी मदद करेगा अगर आपके सिमलिंक एक निर्देशिका करने के लिए है , एक नियमित फाइल के लिए नहीं। – 9000

उत्तर

-1

क्या आपका गंतव्य मौजूदा सिम्लिंक निर्देशिका या फ़ाइल पर इंगित करता है? यदि कोई निर्देशिका है, तो आप --keep-dirlinks का उपयोग करने में सक्षम हो सकते हैं।

+0

मेरे लिए काम नहीं करता –

4

वहाँ इस तरह से आप का सुझाव दिया, लेकिन वर्णित समस्या का आसान समाधान प्राप्त करने के लिए कोई विकल्प नहीं सिर्फ rsync के लिए सिमलिंक का फ़ाइल नाम जोड़ने के लिए पैटर्न को बाहर

like: --exclude="folder/symlinkname1" --exclude="folder/symlinkname2" 

अगर वहाँ कई सिमलिंक आप कर रहे हैं है एक को बाहर पैटर्न फ़ाइल इस फाइल को एक छोटे से स्क्रिप्ट या एक पार्टी एक लाइनर द्वारा स्वतः जेनरेट किया जा सकता है उनमें से एक सूची रख सकते हैं ...

+0

काम करता है। शायद सभी बहिष्कारों के साथ एक - बहिष्कृत फ़ाइल का उपयोग करें – mana