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?
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
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