===== Faire des sauvegardes incrémentales et automatique : Rsnapshot ====== {{:systeme:linux_logo.jpeg?nolink&100|}} Rsnapshot est un utilitaire de snapshot de système de fichiers basé sur rsync. \\ Rsnapshot facilite la réalisation d'instantanés périodiques de machines locales et de machines distantes par ssh. \\ Les fichiers peuvent être restaurés par les logins qui les possèdent, sans que le login root ne soit impliqué. \\ Une fois que vos sauvegardes sont configurées, elles peuvent se produire automatiquement sans mains humaines. \\ Et parce que rsnapshot ne conserve qu'un nombre fixe (mais configurable) d'instantanés, la quantité d'espace disque utilisée n'augmentera pas continuellement. \\ Il est entièrement écrit en perl sans dépendances de modules (perl, rsync, ssh, logger, cp, rm, logger, du). \\ ~~READMORE~~ ==== Installation ===== sous Debian ou équivalent : apt-get install rsnapshot Avec les sources: git clone http://github.com/rsnapshot/rsnapshot.git Puis : ./autogen.sh ./configure --prefix=/usr/local/rsnapshot --sysconfdir=/usr/local/rsnapshot/etc --bindir=/usr/local/rsnapshot/bin --mandir=/usr/local/rsnapshot/man make install Voila, pour plus de détail sur les options possible d'installation (avec les sources), vous pouvez lire le fichier ''INSTALL.md''. \\ ==== Configuration ==== Dans une premier temps , nous allons faire une copie du fichier configuration par défaut''rsnapshot.conf.default'', le chemin de ce fichier va dépendre de votre installation (dans mon cas ''/usr/local/rsnapshot/etc''). cp /usr/local/rsnapshot/etc/rsnapshot.conf.default /usr/local/rsnapshot/etc/rsnapshot.conf Par défaut les sauvegardes sont placées dans ''/.rsnapshot'', Si ce n'est pas ce que vous souhaitez, changez la destination : #snapshot_root /.snapshots/ snapshot_root // exemple : snapshot_root /.backup Les répertoires à sauvegarder : \\ Voici, un exemple de sauvegarde locale : backup /etc/ /localhost/ Nous sauvegardons ''/etc/'' vers ''/.0/localhost/etc/'' en utilisant rsync sur le système de fichiers locale. Quand j’écris '''', je fais référence à l'option du fichier de configuration. Pour vous aider je vous détail l'option : \\ retain * **** : désigne le nom de ce niveau de sauvegarde (par exemple: hourly, daily, ..., également appelé «intervalle»). * **** : est le nombre d'instantanés pour ce type d'intervalle qui sera retenu.\\ La valeur de '''' sera la commande passée à rsnapshot pour effectuer ce type de sauvegarde. Exemple : retain daily 7 Pour cet exemple, chaque fois que cela se produit, les événements suivants se produiront cela : - /daily.6/ sera supprimé, **s'il existe** - /daily.{1,2,3,4,5} seront tous incrémentés de 1, **s'ils existent** - /daily.0/ sera copié sur /daily.1/ en utilisant des liens durs Les niveaux de sauvegarde doivent être spécifiés dans le fichier de configuration dans l'ordre, du plus fréquent au moins fréquent. \\ La première entrée est celle qui sera synchronisée avec les points de sauvegarde. \\ exemple de retain : retain daily 7 retain weekly 4 Voici, un exemple de sauvegarde distante : backup root@ksh-linux.info:/etc/ ksh-linux.info/ Qui aura pour effet de sauvegarder le répertoire ''/etc'' du serveur ''ksh-linux.info'' dans le répertoire ''/.0/ksh-linux.info'' Avant de faire ce genre de sauvegarde, vous aurez fabriqué une paire de clé RSA, pour ne pas saisir un mot de passe. Pour les autres configurations possibles, vous pouvez regarder les exemples à la fin du fichier de configuration ''rsnapshot.conf''. Lorsque ''rsnapshot.conf'' contient vos paramètres, effectuez une vérification rapide pour plus de sérénité, juste pour vous assurer que tout est prêt : rsnapshot configtest Vous devriez obtenir le résultat ''Syntax OK'', quand cela est obtenu, vous pouvez faire votre cron. \\ Voici, un exemple avec comme option ''retain'' les options suivantes : retain daily 7 retain weekly 4 Le crontab qui suit : 10 23 * * * /usr/local/rsnapshot/bin/rsnapshot daily 50 23 * * 7 /usr/local/rsnapshot/bin/rsnapshot weekly Bon, backup :-P \\ sources : [[https://github.com/rsnapshot/rsnapshot|github.com]], [[https://linux.die.net/man/1/rsnapshot|linux.die.net]] \\ N'hésitez pas à laisser un petit un commentaire.