Sauvegardes, test, comparaison et restauration
En supposant que le compte root est accessible et a un mot de passe (
sudo passwd
sur Ubuntu).
Sauvegarde
Ici la sauvegarde est initiée d'un autre système. On suppose de plus que
seul le filesystem / doit être sauvegardé (représenté par le . final) à l'exclusion
de tout filesystem monté sur /.
ssh root@serveur 'tar --directory=/ --one-file-system -czf - .' > /tmp/backup-serveur-$(date --iso).tar.gz
soyez attentif à la syntaxe exacte.
s'il y a d'autres filesystems à sauvegarder, il faut les mentionner explicitement à la fin
de la ligne de commande ci-dessus (dans les apostrophes, exécuté du côté serveur). Par exemple,
si /boot, /data et /usr sont des fs séparés, ajouter après
le point, mais avant l'apostrophe terminant la commande exécutée
sur le serveur: espace puis
boot data usr
, par exemple.
tar sauvegardera tout, il faut s'assurer que les données sauvegardés sont dans un état stable avant la
sauvegarde (p.ex. en sauvegardant un dump plutôt que les fichiers de bases de données, et/ou en passant par
une fonction de snapshot)
la commande ci-dessus ne sauvegarde pas les ACLs (elles sont en général désactivées: l'usage principal des
ACLs POSIX étant les serveurs de fichiers Samba pour clients Microsoft).
Test
- on peut tester que l'archive n'a pas été corrompue
gzip -t /tmp/backup-serveur-$(date --iso).tar.gz
- on peut lister l'archive pour vérifier que les données importantes s'y trouvent
tar tvzf /tmp/backup-serveur-$(date --iso).tar.gz
Comparaison
ssh -e none root@serveur 'tar --directory=/ --compare -zf - ' < /tmp/backup-serveur-$(date --iso).tar.gz
Restauration
cas 1: (le plus courant)
cas 2: disaster recovery
--
MarcSCHAEFER - 07 Nov 2011