sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo crear un trabajo de Cron para hacer una copia de seguridad de MySQL y una copia de seguridad de FTP en mi servidor de copia de seguridad?

Este es un enfoque muy simple usando la línea de comando lftp ftp client:

copia de seguridad.sh:

mysqldump -f [database] | gzip > /backup/[database].dump.gz
lftp -f /backup/lftp.script

lftp.secuencia de comandos:

open backup.ftp.example.com
user [username] [password]
cd /backup
mv webflag.dump.gz.8 webflag.dump.gz.9
mv webflag.dump.gz.7 webflag.dump.gz.8
mv webflag.dump.gz.6 webflag.dump.gz.7
mv webflag.dump.gz.5 webflag.dump.gz.6
mv webflag.dump.gz.4 webflag.dump.gz.5
mv webflag.dump.gz.3 webflag.dump.gz.4
mv webflag.dump.gz.2 webflag.dump.gz.3
mv webflag.dump.gz.1 webflag.dump.gz.2
mv webflag.dump.gz webflag.dump.gz.1

Nota:este enfoque tiene varios problemas:

  • ftp no está encriptado, por lo que cualquier persona que pueda olfatear la red puede ver tanto la contraseña como los datos de la base de datos. Canalizarlo a través de gpg -e [clave] se puede usar para cifrar el volcado, pero las contraseñas de ftp permanecen sin cifrar (sftp, scp son mejores alternativas)
  • si alguien piratea el servidor de la base de datos, puede usar la información del usuario en este script para acceder al servidor ftp y, según los derechos, eliminar las copias de seguridad (esto ha sucedido en el mundo real:http://seclists.org/fulldisclosure/2009/Jun/0048.html )