Introducción
Ahora que tiene un servidor Linux perfectamente configurado en Vultr, debe elegir una solución de respaldo para él. GNU tar
es una muy buena opción: es confiable y facilita la copia de seguridad y restauración de un servidor.
Sintaxis Básica
Tar usa la siguiente sintaxis.
sudo /usr/bin/tar -czpvf /home/john/backup/linux_backup.tar.gz /
-c
: Archivo.
-z
: Utilice el formato GZip para hacer una copia de seguridad. GZip es rápido pero genera un tamaño de archivo más grande que otras herramientas de compresión.
-p
: Conserve el permiso para que cuando restaure la copia de seguridad no encuentre un problema de permiso.
-v
: Mostrar detalles durante la copia de seguridad. Omita -v
si no desea ver resultados detallados.
-f
: Especifique dónde almacenar los archivos tar. Aquí guardamos el archivo de copia de seguridad en el backup
directorio bajo el directorio de inicio del usuario John y lo nombramos linux_backup.tar.gz
.
/
: El sistema de archivos raíz de Linux. Esto significa hacer una copia de seguridad de todo el disco, incluidas todas las unidades montadas, así que tenga cuidado, asegúrese de excluir carpetas o archivos con los que no desea hacer una copia de seguridad excluded.txt
(explicado a continuación).
Mejoras
Excluya los archivos que no querrá (o necesitará) para respaldar.
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -czpvf /home/john/backup/linux_backup.tar.gz /
Use --exclude-from=/home/john/exclude.txt
para especificar exclusiones en un archivo. Una exclude.txt
muestra se pega a continuación.
/home/john/backup/*
/tmp/*
/proc/*
/dev/*
/sys/*
/run/*
/var/tmp/*
/var/run/*
/var/lock/*
/usr/portage/*
/usr/src/*
En este ejemplo, excluyo /home/john/backup/*
, de lo contrario, la primera copia de seguridad se incluirá en la segunda copia de seguridad, y así sucesivamente.
En todos los sistemas Linux, el /tmp/*
, /proc/*
, /dev/*
, /sys/*
, y /run/*
son creados de forma dinámica, por lo que no es necesario incluir en la copia de seguridad, pero que necesita para mantener la estructura de directorios. Por lo tanto, debe usar /proc/*
en excluded.txt
, en lugar de /proc
.
Puede agregar otros archivos y carpetas que no desea respaldar. En el ejemplo anterior, he incluido /usr/portage/*
y /usr/src/*
. Estos son específicos de Gentoo Linux. El primero contiene los paquetes ebuilds y fuentes de Gentoo. El segundo contiene las fuentes del núcleo Gentoo Linux. Son grandes, y ambos se pueden descargar nuevamente después de una restauración del sistema. Siéntase libre de editar el excluded.txt
para satisfacer sus necesidades.
Agregar fecha actual al nombre de la copia de seguridad
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -czpvf /home/john/backup/linux_backup-$(date +%F-%H-%M).tar.gz /
Con $(date +%F-%H-%M)
, la fecha actual, las horas y los minutos se agregarán al nombre del archivo de respaldo. Por ejemplo, linux_backup-2015-07-02-15-22.tar.gz
.
Utilice un mejor programa de compresión que no sea GZip
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -cJpvf /home/john/backup/linux_backup-$(date +%F-%H-%M).tar.xz /
El -J
interruptor se puede reemplazar -z
para usar Xz para la compresión. También cambia la extensión a tar.xz
. Xz es más lento que GZip, pero tiene una relación de compresión mucho mejor, lo que resulta en un archivo de copia de seguridad más pequeño.
Poner todo en un script de shell
Crea un guión.
vim /home/john/bin/linux_backup.sh
Incluya el siguiente código en el script.
#!bin/sh
_tarfile=/home/john/backup/linux_backup-$(date +%F-%H-%M).tar.xz
sudo /usr/bin/tar --exclude-from=/home/john/exclude.txt -cJpvf $ /
Otorgue al script permisos de ejecución.
sudo chmod +x /home/john/bin/linux_backup.sh
Realizar una copia de seguridad.
/home/john/bin/linux_backup.sh