मैं एक डायरेक्टरी ट्री को कॉपी करने की कोशिश कर रहा हूं ताकि फाइल में हार्डलिंक को संरक्षित किया जा सके। ग्नू cp का प्रयोग, यह -l ध्वज के साथ काम करेगा। cp तब निर्देशिका संरचना को फिर से बनाएगा, लेकिन प्रत्येक फ़ाइल की सामग्री को कॉपी करने की आवश्यकता नहीं होगी।
यह एक बैकअप के लिए प्रारंभिक है, पहले मैं पिछले बैकअप की एक सस्ती (हार्डलिंक) प्रतिलिपि बनाना चाहता हूं और फिर इस प्रतिलिपि पर स्रोत निर्देशिका को rsync करता हूं। मोटे तौर पर:
cp -r -l yesterdays_backup todays_backup
rsync -a source_dir todays_backup
दुर्भाग्य से, OSX की cp -l ध्वज का समर्थन नहीं करती है, जहाँ तक मैं बता सकता हूँ, cpio पुनरावर्ती प्रतिलिपि का समर्थन नहीं करता है। अन्य विकल्प पैक्स है, लेकिन इससे पूरी निर्देशिका संरचना कॉपी हो जाती है:
pax -rw backups/yesterdays_backup backups/todays_backup
रूपांतरण:
yesterdays_backup
|
\source_dir (...)
सेवा:
todays_backup
|
\backups
\yesterdays_backup
\source_dir(...)
ऐसा करने का एक आसान / स्पष्ट तरीका होना चाहिए, लेकिन मैं वर्तमान में स्टम्प्ड हूं ... cpio और pax के लिए कोई विकल्प? मैं gnu cp स्थापित करने से बचना चाहूंगा।
मैं टिमेमाचिन के बारे में जानता हूं, लेकिन यह ठीक से गुप्त निर्देशिकाओं को उचित रूप से वापस नहीं करेगा।