Documentation rsnapshot Jol
Transcription
Documentation rsnapshot Jol
Objet Sauvegarde Rsnapshot 1 Mise à jour Version Auteur 12/02/2014 1 S.tourillon (C.Sauvaget) RSNAPSHOT 1.1 INFRASTRUCTURE DE SAUVEGARDE Les machines contenant les sites web et les bases de données mysql sont sauvegardées à l’aide de l’aplication rsnapshot basé sur le protocole rsync sur le serveur de stockage Cog1-sto1 a travers un tunnel ssh. Jobs de sauvegarde 5 jobs de sauvegardes sont exécutés dans la semaine pour al sauvegarde des sites web et des bases de données. 4 jobs de sauvegardes sont exécutés à raison de un job tout les lundis. 2 jobs de sauvegardes sont exécutés à raison d’une fois tout les mois, les premiers de chaque mois 2 FICHIERS DE CONFIGURATIONS Configuration du fichier rsnapshot /etc/rsnapshot.conf Dossier ou seront stocké les sauvegardes snapshot_root /mnt/data/rsnapshot/ Enlever le commentaire pour pouvoir effectuer les sauvegardes en ssh cmd_ssh /usr/bin/ssh Définir le nombre de sauvegardes à faire ######################################### # BACKUP INTERVALS # # Must be unique and in ascending order # # i.e. hourly, daily, weekly, etc. # ######################################### #interval interval interval interval hourly daily weekly monthly 6 5 4 2 Ligne a décommenter pour pouvoir envoyer un mail pour le fonctionnement de la sauvegarde verbose 3 rsync_long_args --delete --numeric-ids --relative --delete-excluded –stats Utilisation de la clé ssh situé dans le dossier /etc/rsnapshot/ ssh_args -p 22 -i /etc/rsnapshot/id_dsa Sauvegarde d’un dossier sur serveur distant : Syntaxe : backup root@machine:/dossier_a_sauvegarder dossier_local Exemple: backup [email protected]:/var/vhosts/ cog1-web6/vhosts/ Lancement d’un script sur la machine distante backup_script /usr/bin/ssh -p22 -i /etc/rsnapshot/id_dsa [email protected] "/usr/sbin/ejabberdctl backup /tmp/ejabberd.backup" .unused Sauvegarde des Bases de données Mysql Lancement du script de sauvegarde mysql_backup.sh (annexe 1) backup_script /usr/bin/ssh -p22 -i [email protected] "/usr/sbin/mysql_backup.sh" /etc/rsnapshot/id_dsa .unused1 Sauvegarde du dossier tmp/mysql crée avec le script mysql_backup backup [email protected]:/tmp/mysql/ cog1-sql1/mysql_backup/ Configuration de la planification des sauvegardes /etc/cron.d/rsnapshot (annexe 2) Syntaxe : min heure (* ;/ ;- ;, ;) root lancement de la tâche a effectuer ‘*’=s’il est utilisé dans l’un des 5 premiers champs, indique que la commande doit être effectué tout le temps ‘/’=permet de spécifier une répétition ‘-‘=permet de définir une plage ‘,’=permet de définir plusieurs valeurs Exemple : 0 3 * * 1 root /usr/bin/rsnapshot weekly Envoie d’un mail avec le rapport de la sauvegarde : 30 21 * * 1-5 root /usr/bin/rsnapshot daily | /usr/local/sbin/rsnapreport.pl | /usr/bin/mail -s 'Rapport Rsnapshot cog1-sto1' [email protected] 2.1 SERVEURS SAUVEGARDE Serveurs sauvegardé xxx.xx.x.xx:/var/vhosts/ xxx.xx.x.xx:/var/vhosts/ xxx.xx.x.xx:/var/www/ xxx.xx.x.xx:/var/vhosts/ xxx.xx.x.xx:/tmp/ejabberd.backup Sauvegardes SQL xxx.xx.x.xx:/tmp/mysql/ xxx.xx.x.xx:/tmp/mysql/ xxx.xx.x.xx:/tmp/mysql/ xxx.xx.x.xx:/tmp/mysql/ xxx.xx.x.xx:/tmp/mysql/ sql1/mysql_backup/ ocs1/mysql_backup/ web1/mysql_backup/ web1/mysql_backup/ web/mysql_backup/ web6/vhosts/ web7/vhosts/ ocs1/www/ sync1/vhosts/ sync1/ejabberd/ Annexes Annexe 1: Mysql_backup.sh #!/bin/bash if [ -d /tmp/mysql ]; then rm /tmp/mysql/*.sql else mkdir /tmp/mysql/ fi for db in $(mysql --defaults-file=/etc/mysql/debian.cnf databases;" -B -N); do case "$db" in "mysql"|"information_schema") continue; ;; esac; mysqldump --defaults-file=/etc/mysql/debian.cnf /tmp/mysql/$db.sql; done -e "show $db > Annexe 2: /etc/cron.d/rsnapshot # 0 */4 * * * root /usr/bin/rsnapshot hourly 30 21 * * 1-5 root /usr/bin/rsnapshot daily | /usr/local/sbin/rsnapreport.pl | /usr/bin/mail -s 'Rapport Rsnapshot cog1-sto1' [email protected] 0 3 * * 1 root /usr/bin/rsnapshot weekly 30 2 1 * * root /usr/bin/rsnapshot monthly