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

Documents pareils