Windows VisualSVN के लिए बैकअप रिपॉजिटरी के क्या तरीके हैं?


15

इस समय हम विजुअल SVN का उपयोग कर रहे हैं और हम विजुअल svn के लिए संपूर्ण रिपॉजिटरी निर्देशिका का समर्थन कर रहे हैं। यह हमारे svn इंजन के अंदर प्रत्येक रिपॉजिटरी के पूरे डेटा का बैकअप लेता है। मैं उत्सुक हूं कि क्या मैं आपातकालीन या आपदा की स्थिति में उन फाइलों को बहाल कर पाऊंगा? आप में से किसी को भी इस बहाली प्रक्रिया के साथ अनुभव है? धन्यवाद।


1
यदि आपने वास्तव में बहाली का परीक्षण नहीं किया है, तो संभवतः आपके बैकअप में कोई विश्वास नहीं हो सकता है।
माइकल हैम्पटन

जवाबों:


11

देखें: http://www.visualsvn.com/support/topic/00012/

यह निम्नलिखित दस्तावेज की ओर इशारा करता है:
http://www.visualsvn.com/support/svnbook/reposadmin/maint/#svn.reposadmin.maint.backup

यह बैकअप लेने के लिए सबवर्सन कमांड का उपयोग करने का वर्णन करता है। मुझे आशा है कि यह वही है जो आप पहले से कर रहे हैं क्योंकि एक सीधी निर्देशिका बैकअप लेने के परिणामस्वरूप गैर-उपयोग योग्य भंडार हो सकता है।

आपको सबवर्सन से बैकअप का उपयोग करने और पूर्ण रिपॉजिटरी को पुनर्स्थापित करने के लिए उपयोग svnadmin dumpया svnadmin hotcopyकमांड करने में सक्षम होना चाहिए । हालाँकि, किसी भी बैकअप रणनीति के साथ, आपको अपने आप को यह सुनिश्चित करने के लिए बहाली का परीक्षण करना चाहिए कि यह आपके लिए काम करता है।


8

VisualSVN सर्वर 3.6 संस्करण के साथ शुरू, सर्वर में एक अंतर्निहित अनुसूचित रिपॉजिटरी बैकअप और पुनर्स्थापना सुविधा शामिल है। इसके अलावा, 3.6 रिलीज में एसवीएन रिपॉजिटरी का अनुसूचित सत्यापन शामिल है।

अपने रिपॉजिटरी रिपॉजिटरी के लिए अनुसूचित रिपॉजिटरी बैकअप और वेरिफिकेशन सेट करना केवल कुछ ही मिनटों का समय होता है। चरण-दर-चरण निर्देशों के लिए, कृपया आलेख KB106 देखें : बैकअप और पुनर्स्थापना के साथ प्रारंभ करना

यदि आप एक बार के बैकअप की तलाश करते हैं, तो आप बैकअप- SvnRepository PowerShell cmdlet का उपयोग कर सकते हैं । रिपॉजिटरी को पुनर्प्राप्त करने के लिए, Restore-SvnRepository का उपयोग करें । ये बैकअप cmdlets संस्करण 3.6 के साथ शुरुआत में उपलब्ध हैं।

VisualSVN सर्वर के नवीनतम संस्करण को मुख्य डाउनलोड पृष्ठ से डाउनलोड करें

यहाँ छवि विवरण दर्ज करें


VisualSVN सर्वर रिपॉजिटरी बैकअप के लिए कई तरीके हैं। नीचे दिए गए संक्षिप्त विवरण की जाँच करें।

1. svnadmin hotcopyउपकरण

svnadmin hotcopyआप रिपॉजिटरी की एक सुरक्षित प्रतिलिपि बनाने की अनुमति देता है, भले ही अन्य प्रक्रियाएं रिपॉजिटरी का उपयोग कर रही हों। आप एक कस्टम स्क्रिप्ट लिख सकते हैं जो नियमित रूप से आपकी रिपॉजिटरी के लिए बैकअप करेगी।

आप सबवर्सन रिपॉजिटरी बैकअप के बारे में अधिक जानने के लिए SVN पुस्तक के निम्नलिखित लेख पर विचार कर सकते हैं: http://www.visualsvn.com/support/svnbook/reposadmin/maint/#svn.reposadmin.maint.backup

2. svnsyncउपकरण

यह वृद्धिशील बैकअप विधि है। वृद्धिशील बैकअप विधि केवल पिछले बैकअप के बाद से बदल चुके रिपॉजिटरी डेटा के हिस्से को बैकअप देती है। आप इस टूल को "मास्टर" और "स्लेव" के रूप में काम करने के लिए सेट कर सकते हैं और स्वचालित रूप से इसके रिपॉजिटरी में किसी भी हिट को डुप्लिकेट कर सकते हैं।

अधिक विवरण के लिए "svnsync" लेख देखें: http://www.visualsvn.com/support/svnbook/ref/svnsync/

3. विंडोज सर्वर बैकअप। आप विंडोज सर्वर बैकअप का उपयोग बैकअप तोड़फोड़ रिपॉजिटरी में कर सकते हैं। यह आपको एक नेटवर्क शेयर, समर्पित बैकअप वॉल्यूम, लेखन योग्य मीडिया के लिए बैकअप शेड्यूल करने की अनुमति देता है। उदाहरण के लिए, wbadminकमांड-लाइन टूल आपको अपने रिपॉजिटरी का सुरक्षित रूप से बैकअप लेने की अनुमति देता है। यह साधारण कमांड वॉल्यूम के C:\foo\barलिए एक बार कॉपी बैकअप करता है X:\:

wbadmin start backup –backupTarget:x: -include:c\foo\bar -vsscopy

(विंडोज सर्वर बैकअप स्थापित करने के लिए, ocsetup WindowsServerBackupउन्नत कमांड प्रॉम्प्ट में चलाएं )।

आप बैकअप को विभिन्न तरीकों से सेटअप कर सकते हैं:

जब आप बैकअप चलाते हैं तो सर्वर की सेवा को रोकना आवश्यक नहीं होता है क्योंकि FSFS रिपॉजिटरी बैकेंड हमेशा सुसंगत स्थिति में होता है

विंडोज सर्वर बैकअप को पुनर्प्राप्त करने के बारे में यहां सामान्य सुझाव दिए गए हैं:

  1. एक खाली निर्देशिका के लिए बैकअप पुनर्प्राप्त करें यह सुनिश्चित करने के लिए कि टूटी हुई फ़ाइलों की पुनर्स्थापना फ़ाइलें मिक्स नहीं होंगी। बरामद होने के बाद रिपॉजिटरी के बाद, आप टूटी हुई रिपॉजिटरी को हटा सकते हैं और फिर इसे बरामद के साथ बदल सकते हैं।

  2. बैकअप से रिपॉजिटरी को पुनर्प्राप्त करने के बाद स्टॉप-स्टार्ट साइकल सर्वर।

  3. यदि आपके क्लाइंट को रिपॉजिटरी रिकवरी के बाद त्रुटियां मिलती हैं, तो उसके svnadmin recoverखिलाफ चलाएं । कमांड तुरंत खत्म होती है और रिपॉजिटरी को फिर से सुलभ बनाती है।


रिपॉजिटरी को छोड़कर, आपको जानकारी के निम्नलिखित टुकड़ों का बैकअप लेना चाहिए:

  1. प्रमाणीकरण और प्राधिकरण फाइलें जो कि रिपॉजिटरी रूट ( 'C: \ Repositories' डिफ़ॉल्ट रूप से) में संग्रहित हैं । आपकी सेटिंग्स के आधार पर, निम्न फाइलें होनी चाहिए: 'ऑर्ट्ज़' , 'ऑर्ट्ज़-विंडो' और 'एचटीएचएडब्ल्यूडब्ल्यूडी'

  2. "% VISUALSVN_SERVER% \ certs \" फ़ोल्डर जहां आपके SSL- प्रमाणपत्रों के बारे में जानकारी संग्रहीत है।

  3. "% VISUALSVN_SERVER% \ conf \" फ़ोल्डर जहां आपके VisualSVN सर्वर की कॉन्फ़िगरेशन फ़ाइलें संग्रहीत हैं।

  4. "HKEY_LOCAL_MACHINE \ SOFTWARE \ VisualSVN \ VisualSVN सर्वर" रजिस्ट्री कुंजी जहां सर्वर के कॉन्फ़िगरेशन का अन्य भाग संग्रहीत है।


1
अपने अंतिम विकल्प के लिए आपको svn सेवा को रोकना होगा, अन्यथा आप एक रेपो का समर्थन करने का जोखिम उठाते हैं जहां एक सक्रिय प्रतिबद्धता होती है जो आपको भ्रष्ट भ्रष्ट छोड़ देगी।
एंडी

5

मैं इसे कर रहा हूँ:

svnadmin dump "c:/Repositories/svnroot" > c:/backup/svnroot_%date%.dump

अंतरिक्ष को बचाने के लिए आप इसे rar / zip कर सकते हैं। मैं उसी विधि का उपयोग कर रहा था जब मैंने एसवीएन को लिनक्स से विजुअलएसवीएन में स्थानांतरित कर दिया था, इसलिए यह बैकअप उसी तरह काम करता है जैसा कि इसे करना चाहिए।


3

SVN रेपो का बैकअप बनाने का सबसे आसान और अच्छा तरीका svnsync का उपयोग करना है । इसका एक वृद्धिशील उपकरण जो किसी भी रिपॉजिटरी को बैकअप रिपॉजिटरी में रिप्ले करता है। इसका आसान होना - इस ब्लॉग पोस्ट को देखना - और इसका उपवास क्योंकि यह केवल परिवर्तन भेजता है। जब आप किसी ऐतिहासिक रिवप्रॉप को अपडेट करते हैं, तो 'एज केस ’को पकड़ने के लिए आपको एक पोस्ट-रेव-प्रोप-चेंज-हुक स्थापित करना होगा, लेकिन अन्यथा आप बैकअप को लगातार बनाए रखने के लिए इसे प्रति घंटा (जैसा कि मैं करते हैं) चला सकते हैं। यदि आप डेटा बैकअप के बारे में वास्तव में पागल हैं तो आप इसे पोस्ट-कमिट हुक में भी चला सकते हैं!

यदि आपका जियो रेपो मर जाता है, तो आप बैकअप रेपो तक सिर्फ "svn relocate" कर सकते हैं जब तक कि आपका लाइव एक फिर से चालू न हो (हालांकि, सावधान रहें यदि आप बैकअप के लिए कुछ भी लिखते हैं, जबकि जियो डाउन है जब तक कि आप svnsync चलाने के लिए नहीं मिलते हैं। लाइव रेपो पर लागू होने वाले परिवर्तन, जब आप इसके बारे में सोचते हैं तो यह बहुत स्पष्ट है)।

तो आपके पास निरंतर बैकअप है, और इसे न्यूनतम संसाधन उपयोग के साथ सेकंड में मापा जाता है। बैकअप इससे बेहतर नहीं है!


3

एक अन्य विकल्प हॉटकॉपी है । यह आपके संपूर्ण भंडार का बैक अप बनाता है। अधिक डिस्क स्थान लेता है, लेकिन इसे चलाने के लिए बहुत आसान है और इसके उपयोग से रिपॉजिटरी को पुनर्स्थापित करना भी बहुत आसान है।


2

VisualSVN एक विंडोज उत्पाद है इसलिए यह विंडोज पर चल रहा है। यदि बैकअप उपयोगिता बैकअप बनाने के लिए वॉल्यूम शैडो कॉपी का उपयोग करने में सक्षम है, तो उसे आंतरिक रूप से सुसंगत बैकअप का उत्पादन करना चाहिए। अंतर्निहित NTBACKUP या तृतीय पक्ष सॉफ़्टवेयर जैसे कि Symantec Backup Exec, या Windows Server 2008 में निर्मित डिस्क-आधारित बैकअप उपकरण वॉल्यूम शैडो कॉपी का उपयोग करने में सक्षम हैं।


यह वास्तव में ध्वनि नहीं होगी। आपको सर्वर को बैकअप एक तरह से या किसी अन्य तरीके से करने की आवश्यकता है, जैसे आप किसी भी डेटाबेस के लिए करते हैं।
डेविड हेफर्नन

SQL सर्वर के मामले में, तब VSS- आधारित बैकअप वास्तव में सुरक्षित रूप से सुरक्षित होते हैं। VisualSVN सर्वर के मामले में, कोई यह उम्मीद करेगा कि विंडोज आधारित सर्वर के रूप में, यह मानक विंडोज बैकअप समाधानों में से एक द्वारा समर्थित होने पर सही ढंग से व्यवहार करेगा, जैसा कि SQL सर्वर करता है। मेरे पास यह बताने के लिए कोई सबूत नहीं है कि यह करता है या नहीं।
टिम लॉन्ग

मुझे शक है। VisualSVN बस svn पैक है। मैंने ऐसा कोई संकेत नहीं देखा है कि इसमें बैकअप हो जो VSS के साथ एकीकृत हो।
डेविड हेफर्नन

0

बस उन लोगों के लिए जो एक विंडोज सिस्टम पर विज़ुअल एसवीएन की डिफ़ॉल्ट स्थापना में सभी रिपॉजिटरी का बैकअप लेना चाहते हैं

मैं निम्नलिखित cmd स्क्रिप्ट का उपयोग करता हूं - यह रिपॉजिटरी रूट के सभी उप फ़ोल्डरों को बैकअप पथ और 7-ज़िप्स पर डिप करता है।

@echo off
set svnAdminPath="C:\Program Files (x86)\VisualSVN Server\bin"
set sevenZipPath="C:\Program Files\7-Zip"
set repositoryRoot=d:\Repositories
set backupPath=c:\Source\Backup\SVN
set dateStamp=%DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%

for /f %%f in ('dir /b /AD %%repositoryRoot%%') do ( 
call:dumpRepository %%f 
call:zipLastDump
)
goto:eof

:dumpRepository
cd /d %svnAdminPath%
set repoPath=%repositoryRoot%/%~1
set dumpFile=%~1_%dateStamp%
echo.-------------------
echo.Dumping %~1 to %dumpFile%.dump
echo.-------------------
svnadmin dump "%repoPath%" > "%backupPath%\%dumpFile%.dump"
exit /b

:zipLastDump
cd /d %sevenZipPath%
set zipFile="%backupPath%\%dumpFile%.7z"
echo.-------------------
echo.Zipping %dumpFile%.dump to %zipFile%
echo.-------------------
7z a "%zipFile%" "%backupPath%\%dumpFile%.dump" 
del "%backupPath%\%dumpFile%.dump" 
exit /b
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.