मैं बैकअप फ़ाइलों के लिए 7-ज़िप का उपयोग कैसे करूं, लेकिन कुछ निर्देशिकाओं को छोड़ दें


43

मैं एक निर्देशिका का बैकअप लेने के लिए 7-ज़िप का उपयोग करना चाहूंगा, लेकिन मैं चाहूंगा कि इसे ".svn" (स्रोत के पेड़ में कहीं भी) नाम की सभी निर्देशिकाओं से बाहर रखा जाए। क्या किसी को पता है कि यह संभव है और उस मामले में कैसे?

जवाबों:


35

सभी .svn निर्देशिकाओं को बाहर करने के लिए आपको -xr!?svn\*स्विच जोड़ना होगा

उदाहरण के लिए निम्न C:\Project\To\Backupनिर्देशिका को संतुष्ट करने वाले किसी भी फ़ोल्डर को छोड़कर निर्देशिका का बैकअप बनाएगा ?svn:

"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!?svn\* Project.zip C:\Project\To\Backup\*

धन्यवाद ManiacD, लेकिन मैं नहीं इस काम -xr को प्राप्त कर सकते हैं SVN * मुझे एक त्रुटि देता है और अगर मैं -xr कोशिश .svn * यह अभी भी .svn बाहर नहीं होगा!?!
माइकल Sundberg

आपको इसके बाद एक बैकस्लैश की आवश्यकता है? इसके लिए कार्य करने के लिए; जो कि ssv निर्देशिका के नीचे सब कुछ को बाहर करने का संकेत देता है। -xr! svn \ *
ManiacD

चिंता मत करो मैं शुरू में यह काम कर रहा है के रूप में समस्याओं का ढेर था। 7-ज़िप को स्विच -x (-xr पुनरावृत्ति निर्देशिका) के साथ छोड़ दें! वाइल्डकार्ड खोज के आधार पर फाइलनेम को बाहर करता है। बैकस्लैश के बिना यह उस मैच के फ़ाइलनाम को बाहर करने की कोशिश कर रहा है? asvn.log अंत में \ * के साथ मतलब है कि एक निर्देशिका मिलान के नीचे कुछ भी शामिल नहीं है? svn
ManiacD

7-ज़िप के साथ शिप की गई सहायता फ़ाइल पर वाइल्डकार्ड का उपयोग करने के तरीके पर विवरण के लिए। कुछ दिन पहले इसी तरह के काम को ठीक करने में मेरी मदद की। 7-जिप वाइल्डकार्ड्स का थोड़ा ... अलग इस्तेमाल करता है;)
släcker

3
और अगर आप यहां सामान्य फ़ोल्डर अपवर्जन की तलाश में ?.svnSkipMe-xr!SkipMe\*
लड़खड़ा गए हैं

13

7-ज़िप का उपयोग करने के बजाय .svn (या संभावित रूप से _svn) फ़ोल्डरों को बाहर करने के लिए, मैं एक अस्थायी फ़ोल्डर में काम करने वाली कॉपी को निर्यात करने के लिए svn एक्सपोर्ट कमांड (SlikSVN से svn.exe का उपयोग करें ) का उपयोग करने की सलाह दूंगा :

svn export C:\Path\To\WC C:\Backup\Staging

फिर निम्नानुसार 7-ज़िप का उपयोग करें:

7z.exe a "C:\Parth\To\Archive" "C:\Backup\Staging\*" -bd t7z -v2g -r

फिर स्टेजिंग फ़ोल्डर को हटा दें।

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


निर्यात टिप के लिए धन्यवाद। TortoiseSVN मेनू पर भी उपलब्ध है।
अर्नोल्ड स्पेंस

12

आप फ़ाइलों या निर्देशिकाओं की सूची का उपयोग करके 7zip के साथ फ़ाइलों को बाहर कर सकते हैं:

/path/to7Zip/7z a -bd f:/backup/backup_2009-08-23_daily.zip home \
          '-xr@\path\to\backup_daily_exclude.lst'

बहिष्कृत फ़ाइल इस तरह दिखाई देती है:

home\Photos\iPod*
home\dhltd\*
BlogMatrix\Sparks\db\*.archive
home\eclipse\*
.svn

कुंजी -xr है और विशेष रूप से "आर" जो इंगित करता है कि निर्देशिका के प्रत्येक स्तर के लिए पुनरावर्ती सूची लागू करें। आप निरपेक्ष और पुनरावर्ती बहिष्करण के लिए एक को छोड़कर 2 फ़ाइल सूचियों का उपयोग करना चाह सकते हैं। उपरोक्त एक बैश स्क्रिप्ट से है जो साइबरविन में चलती है।


4

जब मैंने इस्तेमाल किया

"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\* aufs2-util.tar aufs2-util\*

इसे .गित निर्देशिका को जोड़ना समाप्त हो गया, जिसे मैं नहीं चाहता था, इसे बदलकर

"C:\Program Files\7-Zip\7z.exe" a -r -ttar -xr!?git\ aufs2-util.tar aufs2-util\*

मनचाहा परिणाम मिला।


3

जब मैंने इस्तेमाल किया

7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!WEB-INF\*

WEB-INF निर्देशिका को बाहर नहीं किया गया था। Dir नाम से पहले तारांकन जोड़ना

7z a "D:\codebase\w.7z" "D:\codebase\Edison\otm\Webapp" -t7z -mx0 -xr!*WEB-INF\*

मनचाहा परिणाम मिला।


तारांकन भाग सबसे महत्वपूर्ण है। यह और अधिक बढ़ जाना चाहिए।
वलेरियो

0

मेरे लिए, मैं मावेन कोड निर्देशिकाओं के एक समूह का बैकअप लेने की कोशिश कर रहा था और "लक्ष्य" नामक किसी भी निर्देशिका को बाहर करना चाहता था:

"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y -xr!*\target\* site.zip C:\code\site\

प्रासंगिक को बाहर पैरामीटर था -xr!*\target\*

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