Je fais une synchronisation entre un dossier local et un dossier distant. Il m'est arrivé de perdre un fichier par une stupide commande.
Je suis habitué à l'unisson et à la façon dont vous confirmez ("allez?") Avant de faire le transfert de fichier proprement dit.
Existe-t-il une telle option avec rsync? (pas d'unisson côté serveur)
Merci!
Vous pouvez utiliser l'option -n avec rsync pour effectuer un essai à sec. rsync vous indiquera les opérations qu'il aurait effectuées sans les effectuer. Si vous êtes satisfait des résultats, réexécutez sans l'option -n.
la source
Vous pouvez faire rsync pour sauvegarder des fichiers lors de l'écrasement, en utilisant l'option --backup,
après l'exécution de rsync, vous pouvez analyser le répertoire de sauvegarde pour les fichiers et demander un par un s'il doit être restauré.
la source
Malheureusement, il n'y a pas de méthode intégrée dans Rsync au moment de l'écriture.
La solution de Mike Fitzpatrick fonctionnera bien, mais si vous avez une très grande arborescence de répertoires, vous voudrez peut-être faire quelque chose qui ne fera pas rsync parcourir à nouveau tous les fichiers
EDIT: Il y a aussi un bug où il ne supprimera pas un fichier de destination ... de plus en plus je le regarde, cette solution est cassée ... Je le laisse en place car cela peut fonctionner dans votre cas et aussi si quelqu'un veut réparer. En outre, quelqu'un doit soumettre une demande de fonctionnalité officielle à https://bugzilla.samba.org/enter_bug.cgi?product=rsync
J'ai écrit ce script:
Essayez de coller le script dans un fichier appelé
rsync-confirm.bash
alors
chmod +x rsync-confirm.bash
alors
./rsync-confirm.bash -rvh /etc/ /tmp/etc/
Ce script pourrait être un peu bogué, j'ai remarqué qu'il ne l'aime pas vraiment si vous n'avez pas de barre oblique dans le répertoire source ...
la source