असफल rsync के बाद सफाई कैसे करें?


12

मैंने एक स्थानीय "rsync -ah" प्रक्रिया को मार दिया।
इसने जंक फ़ाइलों को ".abc.vmdk.zxivMN" जैसे लक्ष्य निर्देशिका में छोड़ दिया।
रद्दी फ़ाइलों को लगातार "rsync -ah" रन पर डिलीट नहीं किया जाता है।

विवरण:
मैं दोनों फ़ोल्डरों में अंतर कर रहा था जिसे मैं सिंक कर रहा था और उसने बताया: "केवल / mnt / आर्काइव 1 / दस्तावेजों / सामान्य में: .abc.vmdk.zxivMN"

अस्थायी rsync फ़ाइलों को साफ करने का सबसे अच्छा तरीका क्या है?

जवाबों:


12

बताओ rsyncफाइलों के साथ, स्रोत पर नहीं नष्ट करने के लिए --delete-duringया --delete-after। सावधान रहें और इस विकल्प का उपयोग केवल तभी करें जब आपके पास स्रोत पर मौजूद लक्ष्य पर वैध फाइलें न हों।

देखते हैं man rsync

बेशक, आप हमेशा उन फ़ाइलों को मैन्युअल रूप से हटा सकते हैं जिन्हें आपने पाया था diff...


यह अच्छा नहीं है जब आप एक चाल के बजाय एक कॉपी कर रहे हैं।
श्रीधर सरनोबत


-1

मैंने पाया कि निम्न कमांड ने मेरे लिए काम किया जब असफल ट्रांसफर के बाद rsync द्वारा पीछे छोड़ी गई अस्थायी फ़ाइलों को हटाने की कोशिश की गई।

find vod-content/ -path '*/.*' -print0 | xargs -0 -r rm -v

यह क्या करता है यह सभी "छिपी हुई" फाइलें (फाइलें जो "" चरित्र से शुरू होती हैं) को ढूंढती हैं और उन्हें हटाने के लिए "आरएम" कमांड पर पास करती हैं।

उपरोक्त कोड के बारे में एक स्पष्ट ज्ञात समस्या यह है कि यदि आपकी सामग्री में छिपी हुई फाइलें हैं तो यह कमांड उन लोगों को भी हटा देगा।


-2

मैं एक बेहतर समाधान की तलाश में हूं, लेकिन केवल एक ही मैं सोच सकता हूं कि सभी emptyफाइलें एक के साथ शुरू .हो रही हैं, और उनमें दो और डॉट्स हैं, एक ट्रैश फ़ोल्डर में (उपयोग rmकरना थोड़ा जोखिम भरा है):

find -type f -empty -iname ".*.*.*" | xargs -n 1 -d'\n' mv -v -t /tmp/

किसी भी तरह से मूर्ख नहीं है।


बिना किसी स्पष्टीकरण के नीचे लिखा गया
श्रीधर सरनोबत
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.