¿Cuál es la mejor manera de hacer copias de seguridad de Subversion (en un servidor basado en Debian)?
¿Es para usar svnadmin?
svnadmin dump /path/to/reponame > reponame.dump
¿O tal vez solo para manipular el directorio donde están los repositorios?
tar -cvzf svn.backup.tar.gz /var/subversion/
¿Cuáles son los pros y los contras de lo anterior?
Gracias Johan
Actualización : este es un servidor pequeño con solo un puñado de repositorios. Por lo tanto, las copias de seguridad incrementales probablemente no sean necesarias, creo que es mejor centrarse en mantenerlo simple.
Actualización : utilicé la secuencia de comandos del paquete de paquetes (que a su vez era un paquete para svn-hot-backup) para hacer una copia de seguridad completa y luego hice una recuperación completa en otra computadora limpia. Sin embargo, eliminé esa parte "SVN_HOTBACKUP_NUM_BACKUPS = 10" ya que no funcionaba para mí.
Tenga en cuenta que siento que fue un poco simple y el resultado estuvo muy cerca de solo el directorio. Pero como Manni señaló aquí para usar svn-hot-backup / "svnadmin hotcopy" es un método más confiable, ya que tar podría crear copias de seguridad corruptas de vez en cuando si no tiene suerte.
¿Has visto la documentación sobre esto?
Básicamente, tienes dos opciones:
svnadmin dump
svnadmin hotcopy
Simplemente hacer una copia del directorio no es una opción porque su repositorio puede cambiar mientras se realiza la copia.
Si le gustan las copias de seguridad incrementales o completas depende de su cantidad de paranoia, el tamaño de su repositorio, sus necesidades y su infraestructura.
fuente
Estoy recomendando SVNBackup debido al hecho de que es capaz de hacer copias de seguridad incrementales .
¿Porque es esto importante? Bueno, si tiene un gran equipo de desarrollo y tiene una copia de seguridad diaria de Subversion y su sistema falla 12 horas en la copia de seguridad anterior, se pierde todo el día de trabajo.
Si realiza copias de seguridad completas (que es una copia de SVN ) muchas veces al día, está causando una carga innecesaria en su máquina de repositorio, lo que irritará a los desarrolladores impacientes.
Como un bono; También recomiendo Backup-PC como una solución de respaldo. Puede realizar copias de seguridad remotas incrementales y es capaz de ahorrar mucho espacio si realiza copias de seguridad de archivos idénticos en diferentes sistemas.
fuente
Utilizo svnsync para hacer una copia de seguridad en un repositorio de solo lectura, que está respaldado con copias antiguas (día, semana, mes)
fuente
dump
yhotcopy
ciertamente tiene sus usos. Puede ser bastante útil también para copias de seguridad incrementales locales.Puede hacer una copia de seguridad incremental con svnadmin si lo desea, debe ejecutar el hot-backup.py antes de hacer su archivo tar.
Aquí hay un artículo sobre cómo hacer copias de seguridad de repositorios svn. De todos modos, leer el libro SVN es un buen punto de partida como se dijo antes.
fuente
Respaldo varios repositorios svn de 100GB + con rsync antiguo.
svnadmin dump
ysvnadmin hotcopy
llevaría días en estos repositorios.Otra cosa a tener en cuenta es
svnadmin dump
que no realiza copias de seguridad de bloqueos y secuencias de comandos de enlace.fuente
Esto es lo que hago con mis repositorios: use un servicio de copia de seguridad de carpetas como Dropbox (aquí hay un enlace a su versión de Linux ). Simplemente haga que Dropbox sea la raíz de su repositorio (o incluso por encima) y se realizará una copia de seguridad cada vez que cambie un archivo. No solo estará disponible en todas las computadoras, sino que también podrás acceder a él en línea y tener versiones de él.
Existen varios servicios de respaldo en línea, la mayoría son gratuitos de hasta 2 GB.
fuente