qual è il modo migliore per eseguire il backup di un server SVN per tutto il codice ei contenuti? [duplicare]
Domanda
Questa domanda ha già una risposta qui:
c'è un buon modo per eseguire il backup di tutto il codice e contenuti su un server SVN? perché se quel disco rigido muore, poi tutto il lavoro può essere perso.
Penso che se usiamo più computer a SVN Update per regolarmente, la maggior parte dei file sono presenti su quelle macchine, e quindi il codice sono un po 'più sicuro da non perdere.
Sono stato anche pensando di scrivere uno script per copiare la c:\repositories
a w:\
, che è un hard disk esterno da 2 TB che è in gran parte inattivo durante il giorno. il processo di copia può essere eseguito ogni notte da cron o di pianificazione di Windows ... ma sarà la copia di tutto essere un eccessivo? Può essere una dozzina di file che ha cambiato nel corso della giornata, che totale da 0.5MB e copiare l'intero repository può comportare 50MB o più. E se io stavo facendo il check-in SVN, mentre quel lavoro cron è in esecuzione. tali file non saranno in uno stato incoerente?
o che dire di avere il repository in modo che c:\
aggiornamento SVN è veloce (la w:
unità bisogno di tempo per svegliarsi se inattiva per troppo tempo), e poi basta creare un progetto sotto w:\all_code
e check out tutti i file per <=> e sarà SVN aggiornamento per l'intero repository, e quindi eseguire cron jobs per aggiornamento SVN <=> da sincronizzare al repository ogni notte, in modo che una copia extra di tutti i file sono in <=>?
Soluzione
Si dispone di un certo numero di opzioni:
-
svnadmin hotcopy: http: //svnbook.red-bean.com/en/1.2/svn.ref.svnadmin.c.hotcopy.html
-
svnadmin dump e svnadmin carico: http://svnbook.red-bean.com/en/1.2/svn.ref.svnadmin.c.dump.html
-
svnsync per creare uno specchio di sola lettura del repository: http://svn.collab.net/repos/svn/trunk/notes/svnsync.txt
Altri suggerimenti
Ho trovato questo in Google:
http://justinram.wordpress.com/ 2006/05/03 / subversion-server-windows-backup /
La maggior parte dei colpi sono stati per per Linux, ma che uno è una risposta specifica di Windows. Assicurati di prestare attenzione alla parte sugli utenti con file estratti / modifiche ai file.
Ottenere una copia di caldo -backup.py.
Quindi creare un nuovo orario con attività per eseguire lo script python ogni notte.
Ecco un esempio di quello che mi passa allo script:
"C:\Program Files\Python25\python.exe" D:\SvnBackupUtil\hot-backup.py --archive-type=zip --num-backups=30 C:\Repositories\svn_root \\core-ad01l\backup\
Questo esempio crea una copia di backup zip del repository per \\core-ad01l\backup\
e mantiene un massimo di 30 copie di backup.
È necessario python installato per eseguire lo script.
Se siete su server Linux quindi creare istantanee di repository settimanale o ogni ora.
o
Si può andare per
svnadmin dump o svnadmin hotcopy
Dopo creare la cerniera di esso.