Hacer una copia de seguridad de datos en el servidor de backup (Linux)

En este manual, le mostraremos cómo realizar una copia de seguridad automática y restaurar sus datos en un servidor de copia de seguridad.

En el siguiente script de shell, que se muestra como ejemplo, también le mostraremos cómo utilizar un almacenamiento FTP de IONOS como servidor de copia de seguridad.

Nota

Este método no es adecuado para hacer una copia de seguridad completa de todos los datos en el servidor.

Crear de copias de seguridad con Shellscript

Cree el archivo .netrc como root. Establezca los permisos de modo que sólo root pueda ver y editar el archivo.

touch /root/.netrc
chmod 600 /root/.netrc 

Luego agregue las siguientes entradas a /root/.netrc:

machine backupXX.onlinehome-server.info
login BACKUP USERNAME<hc2_br/>
password BACKUP PASSWORD

macdef backup
put $1 $2
put $1.md5 $2.md5
quit

Nota

  • Ajuste backupXX.pureserver.info, BACKUP USERNAME y BACKUP PASSWORD como corresponda.
  • La palabra quit en la última línea debe ir seguida de una línea vacía.

El archivo de copia de seguridad se almacena en el servidor antes de crear la copia de seguridad. Esto debe hacerse en /home:

mkdir /home/backup
chmod 700 /home/backup 

El propio script de copia de seguridad se almacena en /root/bin/simple-backup.sh. Cree el directorio /root/bin si aún no existe.

mkdir /root/bin

Cree el script de copia de seguridad y guárdelo como /root/bin/simple-backup.sh.

#!/bin/sh

# Nombre del archivo de copia de seguridad
BACKUP_FILE="backup.tar.gz"

# Lugar temporal para guardar el archivo de copia de seguridad
BACKUP_TMP="/home/backup/"

# Ruta completa a la copia de seguridad
BACKUP=${BACKUP_TMP}${BACKUP_FILE}

# Los directorios que desea guardar en la copia de seguridad
# En este ejemplo son las páginas web y correos electrónicos
BACKUP_DATA="/home/htdocs /var/spool/mail"

# Nombre de host del servidor de copia de seguridad
BACKUP_SERVER="backupXX.pureserver.info"

# Gurdar la UMASK antigua
UMASK=`umask`

umask 0077
tar --exclude=${BACKUP} -czf ${BACKUP} ${BACKUP_DATA} 2>/dev/null
md5sum ${BACKUP} > ${BACKUP}.md5
echo "\$ backup ${BACKUP} ${BACKUP_FILE}" | pftp ${BACKUP_SERVER} >/dev/null
rm -f ${BACKUP} ${BACKUP}.md5
umask ${UMASK}

Proporcione al script los derechos correctos:

chmod 700 /root/bin/simple-backup.sh

Puede configurar una tarea cron para automatizar la creación de copias de seguridad. Para ello, cree el archivo /etc/cron.d/simple-backup. Para crear copias de seguridad a diario, introduzca la tarea cron en el siguiente formato:

MINUTO HORA * * * root /root/bin/simple-backup.sh

Para MINUTO (0-59) y HORA (0-24), ajuste el tiempo deseado para la copia de seguridad.

Nota

Al realizar una copia de seguridad en el servidor FTP, se sobrescribe la última copia de seguridad del servidor.

Restaurar el archivo de copia de seguridad

Puede copiar la copia de seguridad del servidor de backup a su servidor y descomprimirla después, por ejemplo, como se indica a continuación:

curl ftp://BACKUP USERNAME:BACKUP PASSWORD@backup443.onlinehome-server.info/backup.tar.gz > backup.tar.gz
tar -xvf backup.tar.gz