Tengo un nuevo servidor que planeo usar como respaldo. En este servidor quiero almacenar las gziped
bases de datos de mis otros 13 servidores. ¿Cuál es la mejor manera de hacer una copia de seguridad cada hora desde cada servidor y almacenarla en el servidor de respaldo?
Servidores SO Linux Centos
Los 13 servidores tienen WHM/Cpanel
El servidor de respaldo tiene Centos 7.7 solamente (sin panel de control)
No pude hacer los respaldos con cpanel porque cpanel no permite respaldos cada hora.
Respuesta1
Puedes lograr esto con rsync
y cron
.
En cada servidor cree el archivo backup.sh con la siguiente línea:
#!/bin/bash
mysqldump > /etc/backups/mysqldump.sql
rsync /etc/backups/mysqldump.sql -e ssh <username>@<ip-address-of-backup-server>:/<path-to your-backup-folder>/<server-name>/"$(date "+%Y-%m-%d-%H")"-backup.sql
Comprobar condocumentación mysqlpara opciones de volcado (o use su método preferido para volcar la base de datos). <server-name>
Debería haber algún tipo de identificador para el servidor del que proviene la copia de seguridad.
Pon el archivo en /etc/cron.hourly
. Si desea un tiempo diferente, puede consultar otras /etc/cron.*
carpetas o usargenerador de crontabsy usar el comando crontab -e
.
Asegúrese de que /etc/backups
(o su equivalente) exista o créelo ( mkdir
).
Algunas trampas comunes:
asegúrese de configurar claves ssh en cada servidor para
rsync
poder conectarse al servidor de respaldo y/o separar usuarios con privilegios limitados. Depende de qué tipo de seguridad estés buscando.asegúrese de que el
backup.sh
script sea ejecutable.si lo coloca
backup.sh
en/etc/cron.*
una carpeta, se ejecutará con privilegios de root. Si por alguna razón no desea esto, usecrontab -e
la opción como usuario deseado.