Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment créer une tâche Cron pour sauvegarder la sauvegarde MySQL et FTP sur mon serveur de sauvegarde ?

Il s'agit d'une approche très simple utilisant le client ftp en ligne de commande lftp :

sauvegarde.sh :

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

lftp.script :

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

Remarque :Cette approche présente un certain nombre de problèmes :

  • ftp n'est pas crypté, donc toute personne capable de renifler le réseau peut voir à la fois le mot de passe et les données de la base de données. Le faire passer par gpg -e [clé] peut être utilisé pour chiffrer le vidage, mais les mots de passe ftp restent non chiffrés (sftp, scp sont de meilleures alternatives)
  • si quelqu'un pirate le serveur de base de données, il peut utiliser les informations utilisateur de ce script pour accéder au serveur ftp et, selon les droits, supprimer les sauvegardes (cela s'est produit dans le monde réel :http://seclists.org/fulldisclosure/2009/Jun/0048.html )