La question dit tout:
Que se passe-t-il si rsnapshot ou rdiff-backup est interrompu au milieu d'un transfert?
Je sais que rsnapshot essaie de créer un instantané complet de votre système en rotation, et que rdiff-backup effectue une sauvegarde différentielle, qui sera basée sur les fichiers précédemment sauvegardés.
So: Que se passe-t-il si ça s'interrompt au milieu?
Cela aboutit-il à un "instantané incomplet"?
Les autres instantanés dépendant de celui-ci seront-ils corrompus? (Sûrement pas, mais ...?)
Ma compréhension est que ...
rdiff-backup détectera l'incrément incomplet lors de sa prochaine exécution. Il supprimera l'incrément incomplet afin que l'emplacement de la sauvegarde soit le même que si la tentative de sauvegarde interrompue n'avait jamais été démarrée.
rsnapshot est un peu plus compliqué car sa routine est plus progressive et varie en fonction de l'utilisation des options sync_first
et use_lazy_deletes
.
sync_first
et que rsnapshot sync
est interrompu, vous pouvez simplement exécuter à nouveau rsnapshot sync
pour redresser la situation. Si vous exécutez accidentellement rsnapshot <backup level>
à ce stade, le dernier point de sauvegarde restera incomplet et sera exécuté selon des rotations.sync_first
, vous vous retrouvez avec un point de sauvegarde incomplet, hybride de l'ancienne et de la nouvelle version des fichiers. À moins que vous ne procédiez à une rotation inverse inversée manuelle de chaque point de sauvegarde, le point de sauvegarde incomplet sera traité par rotation.rsnapshot <backup level>
entraînera la perte du point de sauvegarde le plus ancien, à moins que use_lazy_deletes
ne soit activé.Notez que sync_first
et use_lazy_deletes
se traduisent par une utilisation plus importante de l’espace disque.
Un rappel/déni de responsabilité: Cela devrait aller de soi, mais ne faites jamais confiance aveuglément aux conseils des autres sur Internet. Si vous envisagez d’utiliser rdiff-backup ou rsnapshot pour quelque chose stratégique , lisez chaque mot du manuel et testez, testez, testez tout vous-même!
Cela m'est juste arrivé. mon lecteur externe est devenu complet à mi-parcours de la sauvegarde incrémentielle de rsnapshot:
rsync: write failed on "<path>": No space left on device (28)
Maintenant, j'aimerais partager quelques points que j'ai appris de cela. c'est-à-dire réparer et limiter considérablement les chances pour un tel cas de me mordre en arrière;)
Je connais deux façons de réduire cela en toute sécurité.
rsnapshot ne dispose pas de fonctions de pause/arrêt et de reprise (sauf pour le nombre limité " ignoré en raison du plan de restauration " 2 ), donc nous devons utiliser un wrapper pour gérer ces fonctionnalités.
rsnapshot-once
par Philipp C. Heckel est un wrapper pour rsnapshot dans PHP qui:
Je l'utilise avec plaisir depuis un an: j'ai édité le openbase_dir
de php.ini pour mon besoin en sauvegarde et le tour est joué, jour de chance ^ _ ^ Plus lisse et plus sûr que ma précédente solution brute basée sur rsnapshot.
Remarque: slm m'a lié ici à partir d'une question en double: destination Rsnapshot complète - comment réexécuter en toute sécurité?