C’était pour chatouiller @Verner - @zao seulement.
cooL … c’est sympat rsync
Oui, je connais et utilise rsync depuis 2005 - J’avais écris un mémo - avec une petite introduction pour expliquer la force de ce système de sauvegarde - En 2012, j’ai dû ajouter/changer le script complet en écrivant un code plus propre et plus complet que seulement l’introduction de type rysync -av dir_source dir_destination
Non, je ne sais même pas s’il ont ajoutés de fonctionnalités.
L’important c’est de toujours avoir la documentation officielle et de bien visualiser/comprendre les fonctionnalités des options.
Comme avec toutes les commandes linux tu peut demander les man pages - par exemple : man rsync
tu pourrais essayer de créer un dossier et y coller un fichier ou 2, un répertoire ou 2 (oOops* j’ai oublié --delete
(par default rsync
n’efface rien)" :
NdMoi-même 15h50 → oOops j’ai oublié --delete
(par default rsync
n’efface rien)
donc il faut ajouter l’option --delete
dans les requête rsync
pour supprimer les fichiers supprimés
#--------------------------------------------
# créer le dossier de sauvegarde
mkdir /tmp/ma_sauvegarde/
#--------------------------------------------
# créer un dossier que tu souhaiterais synchroniser
mkdir /tmp/nouveau_dossier/
# créer un fichier vide
touch /tmp/nouveau_dossier/nouveau_fichier
# écrire "salut" dans le nouveau fichier
echo salut > /tmp/nouveau_dossier/nouveau_fichier
# Tester une première synchro :
rsync -av /tmp/nouveau_dossier/ /tmp/ma_sauvegarde/
# vérifier que la sauvegarde a fonctionné
ls -l /tmp/ma_sauvegarde/
#--------------------------------------------
# ajouter un autre fichier dans le répertoire à synchroniser
touch /tmp/nouveau_dossier/nouveau_deuxieme_fichier
# Lancer la synchro :
rsync -av /tmp/nouveau_dossier/ /tmp/ma_sauvegarde/
# vérifier que la sauvegarde (synchro) a fonctionné
ls -l /tmp/ma_sauvegarde/
#--------------------------------------------
# modifier le 1er fichier avec un "salut" dedans et y ajouter "modification du fichier"
echo "modification du fichier" >> /tmp/nouveau_dossier/nouveau_fichier
# Lancer la synchro :
rsync -av /tmp/nouveau_dossier/ /tmp/ma_sauvegarde/
# vérifier que la sauvegarde (synchro) a fonctionné
cat /tmp/ma_sauvegarde/nouveau_fichier
#--------------------------------------------
# on peut continuer
# supprimer le 2e fichier vide par exemple
rm -v /tmp/nouveau_dossier/nouveau_deuxieme_fichier
# Lancer la synchro (avec un delete comme je disais dans ma note plus haut) :
rsync --delete -av /tmp/nouveau_dossier/ /tmp/ma_sauvegarde/
# vérifier que la sauvegarde (synchro) a fonctionné
ls -l /tmp/ma_sauvegarde/
etc…
Dans le tuto que j’ai écris, justement, j’explique comment utiliser les options rynsc --backup --backup-dir
pour qu’en plus de réaliser, seulement, une synchronisation de répertoires,
faire une sauvegarde des fichiers modifier ou supprimer → que si par erreur tu ne souhaitais pas supprimer le fichier /tmp/nouveau_dossier/nouveau_deuxieme_fichier
celui-ci aurait été déplacé de /tmp/ma_sauvegarde/nouveau_deuxieme_fichier
vers /tmp/ma_sauvegarde-2022-11-18/nouveau_deuxieme_fichier
Et que dans le répertoire de la synchronisation/sauvegarde « courante » → celui-ci /tmp/ma_sauvegarde/
ton fichier ni soit plus.
Pour que le répertoire /tmp/nouveau_dossier/
et le répertoire /tmp/ma_sauvegarde/
soit « équivalent ».
Mais par précaution, toutes modifications ou suppression de fichiers du répertoire /tmp/nouveau_dossier/
soit placées dans un répertoire de sauvegarde /tmp/ma_sauvegarde-2022-11-18/
une fois que tu as compris le texte de mon explication, tu peut essayer çà → l’option --backup
:
# tu re-crées un autre nouveau fichier dans ton répertoire "courant"
touch /tmp/nouveau_dossier/mon_autre_fichier
# Lancer la synchro :
rsync -av /tmp/nouveau_dossier/ /tmp/ma_sauvegarde/
# vérifier que la sauvegarde (synchro) a fonctionné - tu as tes 2 fichiers.
ls -l /tmp/ma_sauvegarde/
# puis après tu essaies les options rysync --backup en plus
rsync --backup --backup-dir=/tmp/ma_sauvegarde-2022-11-18/ -av /tmp/nouveau_dossier/ /tmp/ma_sauvegarde/
# vérifier que la sauvegarde a fonctionné
ls -l /tmp/ma_sauvegarde/
# rien n'a changé puisque tu n'as rien modifié.
# donc, modifie le fichier en écrivant quelque chose dedans.
echo "modification du fichier mon_autre_fichier" > /tmp/nouveau_dossier/mon_autre_fichier
# Lancer la synchro avec le BACKUP supplémentaire et le delete (maintenant que l'on a un dossier de sauvegrade au cas où) :
rsync --backup --backup-dir=/tmp/ma_sauvegarde-2022-11-18/ --delete -av /tmp/nouveau_dossier/ /tmp/ma_sauvegarde/
# vérifier que la sauvegarde a fonctionné (donc il y écrit "modification du fichier mon_autre_fichier" dans le fichier qui se trouve dans ton répertoire "ma_sauvegarde"
cat /tmp/ma_sauvegarde/mon_autre_fichier
# Vérifier que la sauvegarde a fonctionnée avec seulement le fichier vide "mon_autre_fichier" :
ls -l /tmp/ma_sauvegarde-2022-11-18/
etc.
Tu pourrais supprimer ton fichier /tmp/nouveau_dossier/mon_autre_fichier
et lancer une synchro avec l’option de backup et tu t’apercevras que le fichier a été supprimé de ton répertoire « ma_sauvegarde » et qu’il à été déplacé dans le répertoire « ma_sauvegarde-2022-11-18 » avec la dernière synchro effectuée, donc il contient le texte « modification du fichier mon_autre_fichier ».
Bonne journée à vous.
Romain