सवाल Sym लिंक का पालन करते समय rsync करें


मेरे पास एक निर्देशिका है जिसमें मेरे सिस्टम पर विभिन्न मीडिया पर स्थित अन्य निर्देशिकाओं के प्रतीकात्मक लिंक शामिल हैं:

/opt/lun1/2011
/opt/lun1/2010
/opt/lun2/2009
/opt/lun2/2008
/opt/lun3/2007

लेकिन प्रतीकात्मक लिंक इस प्रकार दिखाई देते हैं:

/files/2011
/files/2010
/files/2009
/files/2008
/files/2007

मैं एक कैसे कर सकता हूँ rsync जो प्रतीकात्मक लिंक का पालन करता है?

उदा .:

rsync -XXX /files/ user@server:/files/


59
2018-03-10 16:14


मूल




जवाब:


-L rsync को ध्वज प्रतीकात्मक लिंक के बजाय, फ़ाइलों या निर्देशिकाओं की सामग्री को सिंक करेगा।


85
2018-03-10 16:33



जब मैं ऐसा करता हूं, तो सभी रिसीवर प्रतीकात्मक लिंक हटा दिए जाते हैं और मेरा प्रेषक फ़ाइलों को फिर से भेजना शुरू कर देता है। - ensnare
क्या आप वह नहीं चाहते हैं? मैंने सोचा था कि आप प्राप्त करने वाले पक्ष पर असली फाइलें चाहते थे, न केवल सिम्लिंक। क्या आपका मतलब है कि आप symlinks को सिम्लिंक के रूप में कॉपी करना चाहते हैं, लेकिन प्राप्त करने वाले सिस्टम पर "दाएं" स्थान को इंगित करने के लिए स्वचालित रूप से फिर से लिखा गया है? यदि ऐसा है, तो सामान्यतः इसका अर्थ यह नहीं है कि "एक rsync जो प्रतीकात्मक लिंक का पालन करता है"। - MadHatter
हाय - ये निर्देशिकाएं हैं। मुझे यह -के ध्वज के साथ काम करने के लिए मिला। - ensnare
मुझे यकीन है कि एसओ मुझे और बेवकूफ बना रहा है .. - John Hunt
स्पष्टीकरण देना, -LK यदि आप दोनों सिम्लिंक की गई फ़ाइलों और निर्देशिकाओं का पालन करना चाहते हैं - Mahn


बस इस समस्या में भाग गया। और यदि आप निर्देशिका के रूप में symlinked निर्देशिकाओं का इलाज करने के लिए rsync चाहते हैं, तो आप चाहते हैं K विकल्प

rsync -K /files/ user@server:/files/


14
2018-04-10 17:17



आप - कॉपी-असुरक्षित-लिंक विकल्प भी जोड़ना चाहेंगे - Gregory Magarshak