web-dev-qa-db-fra.com

Sauvegarde incrémentielle simple rsync qui horodate les fichiers supprimés

J'utilise rsync comme suit:

rsync -a --backup --suffix = "." $ (date + "% Y% m% d% H% M") sauvegardes source

pour vider la totalité du dossier source dans le dossier des sauvegardes , avec le fonctionnalité supplémentaire que si je modifie un fichier foo dans source , l'ancien la version de foo dans les sauvegardes sera renommée avec un suffixe de date avant le nouveau foo est copié dans sauvegardes .

Cette procédure simple fait le travail pour moi, mais je voudrais seulement qu'un fichier supprimé soit renommé avec le suffixe de date au lieu d'être supprimé de sauvegardes . C'est-à-dire que si foo est supprimé du source, renommez foo en sauvegardes avec le suffixe de date.

J'ai essayé d'y parvenir, mais jusqu'à présent, aucun succès. Des idées?

4
DustByte

Pour la sauvegarde incrémentielle rsync, utilisez l’outil rsnapshot.

Exemple de rsnapshot.conf

snapshot_root   /backup

cmd_cp          /bin/cp

cmd_rm          /bin/rm

cmd_rsync       /usr/bin/rsync

cmd_ssh /usr/bin/ssh

cmd_logger      /usr/bin/logger

cmd_du          /usr/bin/du

cmd_rsnapshot_diff      /usr/bin/rsnapshot-diff

retain          daily   7
retain          weekly  4

verbose         2

loglevel        3

logfile /var/log/rsnapshot.log

lockfile        /var/run/rsnapshot.pid

backup  root@localhost:/etc/                   localhost/
backup  root@localhost:/home                   localhost/
backup  root@localhost:/var/www/               localhost/

Définir les tâches cron pour la sauvegarde automatique:

# m     h   dom mon dow command
#Run Rsnapshot At 02:00 Everyday
00      02      *       *       *       /usr/bin/rsnapshot daily
#Run Rsnapshot At 06:00 Every Sunday 
00      06      *       *       0       /usr/bin/rsnapshot weekly
1
Mitesh Shah

Ajouter l’option --backup-dir devrait faire ce que vous cherchez:

--backup-dir = DIR En combinaison avec l'option --backup, ceci indique à rsync de stocker toutes les sauvegardes dans le répertoire spécifié du côté de la réception. Ceci peut être utilisé pour des sauvegardes incrémentielles. Vous pouvez également spécifier un suffixe de sauvegarde à l'aide de l'option --suffix (sinon, les fichiers sauvegardés dans le répertoire spécifié conserveront leurs noms de fichier d'origine).

par exemple.

rsync -ab --backup-dir=versions --suffix="."$(date +"%Y%m%d%H%M") --delete /source/folder/ /destination/folder

Cela créerait des sauvegardes de vos fichiers dans/destination/versions

Source: https://linux.die.net/man/1/rsync

1
Alexandru Ungureanu