Tengo un servidor web Linux (Ubuntu 12.04) y quiero crear un cronjob para generar una copia de seguridad diferencial, localmente (en la misma máquina).
¿Es eso posible? Con diferencial me refiero a que la primera vez copia todo, pero las siguientes veces solo copia archivos nuevos. Pero también quiero tener muchos puntos en el tiempo, me refiero al menos a 3 o 4 copias de seguridad desde las cuales puedo restaurar todo.
Revisé esta página pero hay demasiadas herramientas diferentes y supongo que cada una tiene sus propios problemas:https://help.ubuntu.com/community/BackupYourSystem#Types_of_Backup
Por ejemplo, me han dicho que almacenar .tar.gz tiene un límite de tamaño.
Si tenéis alguna sugerencia sencilla, aunque no sea diferencial, bienvenida es.
Respuesta1
Suponiendo que hay un disco de respaldo /media/mydisk
y quiero una copia de seguridad /home/user
, este pequeño script le permitirá conservar 10 copias de seguridad del historial, pero conservando solo archivos diferentes más de una vez.
Esto necesita que el disco de respaldo esté formateado con un sistema de archivos POSIX, como Ext4, XFS u otro, peroNontfs,ni¡gordo!
#!/bin/bash
backRepo=/media/mydisk
backSrce=/home/user
backDest=home
backCopy=copy
backCount=9
[ -d "$backRepo/$backDest" ] || mkdir "$backRepo/$backDest"
cd $backSrce || exit 1
rsync -ax --delete --exclude '*~' --exclude '.DStore' . "$backRepo/$backDest/."
cd $backRepo
[ -d "$backCopy.$backCount" ] && rm -fR "$backCopy.$backCount"
for ((i=$backCount;i--;));do
[ -d "$backCopy.$i" ] && mv "$backCopy.$i" "$backCopy.$((i+1))"
done
((i++))
cp -al $backDest $backCopy.$i
Esto ( cp -al
) crea enlaces duros de archivos en lugar de copiarlos. Así que no se utiliza más espacio.
Rsync lo harárecrear(copiar al escribir) cada archivo modificado, por lo que la copia de seguridad rotada conserva la versión anterior.
Respuesta2
sincronizaciónes una gran herramienta para copiar archivos, puede copiar solo los bits de cambio en un archivo y puede hacer una copia de seguridad de los archivos de destino antes de sobrescribirlos.
Puede editar fácilmente su crontab
ejecución rsync
periódica para su copia de seguridad principal. Luego puedes copiar las copias de seguridad de los archivos modificados y tendrás más puntos de tiempo. O puede copiar los datos respaldados antes de ejecutarlos rsync
para tener una imagen completa para cada momento.
A menos que luego copie los archivos en otro lugar, no creo que sea necesario utilizar tar
.