कैसे हटाएं rsync को हटाने से बाहर करता है?


31

मैं निम्नलिखित का उपयोग करके कई मशीनों में फ़ाइलों को सिंक करने के लिए rsync का उपयोग कर रहा हूं:

rsync -az -e "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" \
  --delete --delete-excluded --force --exclude=.git  --exclude=.bundle \
  --exclude=tmp --exclude=log/* --exclude=*.log --exclude=*.pid \
  user@host:/path/to/src/ /var/build/dest

मैं सभी लॉग फ़ाइलों को स्रोत से गंतव्य तक स्थानांतरित होने से बाहर करना चाहता हूं, और गंतव्य पर सभी मौजूदा फ़ाइलों को हटा देना चाहता हूं। इसलिए मैं इसके --exclude=*.logसाथ प्रयोग कर रहा हूं --delete-excludedजो बहुत अच्छा काम करता है।

लेकिन मैं एक निश्चित लॉग फ़ाइल को गंतव्य पर बरकरार रखना चाहता हूं। मुझे एक --exclude-from-deleteविकल्प चाहिए।

क्या यह rsync के साथ संभव है?


जवाबों:


47

"प्रोटेक्ट" फ़िल्टर को वही चाहिए जो आप चाहते हैं:

          protect, P specifies a pattern for protecting files from deletion.

संबंधित अपवर्जन से पहले बस निम्नलिखित फ़िल्टर निर्दिष्ट करें:

--filter='P my-specific-logfile.log'

(पत्र P के बाद का स्थान देखें)


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