Después de consultar especialistas en la materia, programadores de varias ramas y maestros hemos dado con la respuesta a la pregunta y la dejamos plasmada en esta publicación.
Solución:
Solución 1:
La mejor herramienta para usar para esto es probablemente el volcado, que es una herramienta estándar de Linux y le dará todo el sistema de archivos. Yo haría algo como esto:
/sbin/dump -0uan -f - / | gzip -2 | ssh -c blowfish [email protected] dd of=/backup/server-full-backup-`date '+%d-%B-%Y'`.dump.gz
Esto hará un volcado del sistema de archivos de / (¡asegúrese de que no necesita volcar ningún otro montaje!), lo comprimirá con gzip y lo enviará a un servidor remoto (backupserver.example.com), almacenándolo en /backup/ . Si luego necesita buscar la copia de seguridad que usa restaurar:
restore -i
Otra opción, si no tiene acceso al volcado, es usar tar y hacer algo como
tar -zcvpf /backup/full-backup-`date '+%d-%B-%Y'`.tar.gz --directory / --exclude=mnt --exclude=proc --exclude=tmp .
Pero tar tampoco maneja los cambios en el sistema de archivos.
Solución 2:
Si desea hacer una copia de seguridad de Linux a Linux, no usaría dump, porque es un inconveniente cuando necesita acceder a algo dentro del archivo de copia de seguridad. solo usando rsync
a través de SSH para hacer una copia de seguridad completa del sistema debería estar bien en la mayoría de los casos:
rsync -aAXv --delete-after --exclude="/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found" / [email protected]:backup-folder
Esto mantendrá todo lo importante y le permite explorar la copia de seguridad sin pasos adicionales.
Es posible que desee agregar rsync
--delete
opción si está ejecutando esto varias veces en la misma carpeta de copia de seguridad. En este caso, asegúrese de que la ruta de origen no termine con/*
o esta opción solo tendrá efecto en los archivos dentro de los subdirectorios del directorio de origen, pero no tendrá efecto en los archivos que residen directamente dentro del directorio de origen.
Solución 3:
¿En qué medio vas a almacenar la copia de seguridad? Si está realizando una copia de seguridad a través de la red, montaría sshfs/nfs mi destino en el servidor de origen y ejecutaría algo como:
tar cvjf ///source-030810-full.tar.bz2 /* --exclude=/proc --exclude=/dev --exclude=/sys --exclude=/tmp --exclude=/
Tenga en cuenta que no se ha probado, solo mi pensamiento general es posible que desee excluir más o menos que eso.
Solución 4:
Uso el comando descrito anteriormente de pehrs, pero modificado para uso ftp. muestra crontab:
30 3 1 * * sudo /sbin/dump -0uan -f server-full-backup-root-`date '+%d-%B-%Y'`.dump / && gzip -1 //server-full-backup-root-`date '+%d-%B-%Y'`.dump
50 * * * * lftp -f upload.x
upload.x contiene credenciales ftp y reglas para cargar:
open -u user,password -p 21 192.168.1.1
mirror -c -e -R / /
exit
Nota 1: lftp puede causar un alto uso de la CPU cuando no se puede alcanzar el destino al intentar volver a conectarse. Debido a que muchos VPS de alojamiento pueden reiniciarse en tales casos, sugiero monitorear la carga de la CPU para eliminar el proceso lftp y evitar que el propietario del host apague su servidor. Un ejemplo de promedio de carga >1.33 para procesos lftp (y dropbox). Desafortunadamente, no recuerdo la fuente del código inicial, gracias a alguien:
Crontab */5 * * * * /home/cms/cron/loadmon.sh
#!/bin/bash
FROM_EMAIL_ADDRESS=cms
trigger=1.33
load=`cat /proc/loadavg | awk 'print $1'`
response=`echo | awk -v T=$trigger -v L=$load 'BEGINif ( L > T) print "greater"'`
if [[ $response = "greater" ]]
then
killall dropbox lftp
nice -n 19 sh /cms/.dropbox-dist/dropboxd
sar -q | mailx -s "High load on server - [ $load ]" r***[email protected]
fi
Nota 2: Es posible que la utilidad de volcado no funcione en OpenVZ VPS o en otros servidores virtuales.
Solución 5:
has escuchado de Bácula?
Bacula es un conjunto de programas informáticos de código abierto, preparados para la empresa, que le permiten a usted (o al administrador del sistema) gestionar la copia de seguridad, la recuperación y la verificación de datos informáticos en una red de ordenadores de diferentes tipos. Bacula es relativamente fácil de usar y eficiente, al mismo tiempo que ofrece muchas funciones avanzadas de administración de almacenamiento que facilitan la búsqueda y recuperación de archivos perdidos o dañados. En términos técnicos, es un programa de copia de seguridad basado en red, listo para empresas y de código abierto.
Si crees que ha resultado provechoso este artículo, te agradeceríamos que lo compartas con el resto desarrolladores y nos ayudes a dar difusión a nuestro contenido.