Utiliser rsnapshot avec des processus rsync en parallèle
Contents
rsnapshot est un outil qui permet d’automatiser les backups en utilisant la combinaison « rsync/cp -al ». Seulement, il lit son fichier de configuration de manière séquentielle et donc backup les machines une à une. Si les machines sources sont bridées en sortie, ou que on utilise du bonding, cette limitation peut être ennuyeuse. Pour passer outre, il faut procéder comme ceci :
Il faut déjà créer un script bash. Dans ce cas, on lance 2 rsync en parallèle :
#!/bin/bash
groups="01 02"
# Run backup jobs in parallel
for group in ${groups}; do
rsnapshot -q -c /etc/rsnapshot/group${group}.conf sync &
done
# Wait for all backup jobs to finish
wait
# Rotate daily backup
rsnapshot -q -c /etc/rsnapshot/rotate.conf daily
Ensuite, la configuration se fait de la façon suivante :
/etc/rsnapshot/rsnapshot.conf
config_version 1.2
snapshot_root /var/backup/rsnapshot/
cmd_cp /bin/cp
cmd_rm /bin/rm
cmd_rsync /usr/bin/rsync
cmd_logger /usr/bin/logger
retain daily 3
verbose 2
loglevel 3
lockfile /var/run/rsnapshot.pid
sync_first 1
un fichier /etc/rsnapshot/rotate.conf :
include_conf /etc/rsnapshot/rsnapshot.conf
logfile /var/log/rsnapshot-rotate.log
lockfile /var/run/rsnapshot-rotate.pid
include_conf /etc/rsnapshot/group01.hosts
include_conf /etc/rsnapshot/group02.hosts
un fichier /etc/rsnapshot/group01.conf
include_conf /etc/rsnapshot/rsnapshot.conf
logfile /var/log/rsnapshot1.log
lockfile /var/run/rsnapshot1.pid
include_conf /etc/rsnapshot/group01.hosts
Un fichier /etc/rsnapshot/group01.hosts
backup rsync://example.com/backup example.com/
backup rsync://example2.conf/backup example2.com/
[...]
Il faut faire pareil pour les fichiers group02.conf et group02.hosts, en modifiant logfile, lockfile et include_conf. Il faut bien sûr ne pas renseigner les mêmes machines dans group01.hosts et group02.hosts
Il suffit ensuit de lancer le script créé au dessus.
Le fonctionnement est le suivant :
Author VaLouille
LastMod 2013-02-13