J'ai sauvegardé un serveur Web Linux en utilisant rsync avec cygwin. J'ai maintenant une copie parfaite du serveur sur mon ordinateur portable Windows. Si je supprime ou modifie un fichier sur mon ordinateur portable et réexécute rsync avec cygwin, supprimera-t-il / mettra-t-il à jour le même fichier sur le serveur? Im sous l'impression que si je supprime / modifie sur le serveur et exécute rsync sur mon ordinateur portable, il supprimera / modifiera le fichier local sur mon ordinateur portable mais cela fonctionne-t-il en sens inverse?
25
unison
. Il s'agit d'un outil de synchronisation qui enregistre l'état des fichiers sur les deux copies et permet ainsi une synchronisation bidirectionnelle. Il existe également un package cygwin.Réponses:
Rsync effectue une synchronisation unidirectionnelle, mais c'est à vous de décider dans quelle direction la synchronisation se déroule.
La syntaxe de la commande Rsync est la suivante:
Notez que vous spécifiez la synchronisation de la source à la destination. La source et la destination peuvent être n'importe quel chemin local ou distant.
Par exemple, si vous souhaitez copier des fichiers de votre serveur vers votre ordinateur portable, vous devez:
Pour synchroniser dans la direction opposée, vous effectuez:
Donc, pour répondre à votre question: cela dépend de la façon dont vous exécutez rsync.
Si vous souhaitez que les fichiers soient supprimés sur la destination, vous devez utiliser l'
--delete
option. Mais soyez prudent, car si vous faites une erreur en spécifiant votre source, vous finirez par tout supprimer sur votre destination. Il est plus sûr de tester votre synchronisation sans--delete
option en premier et une fois que vous êtes satisfait de son fonctionnement, vous pouvez ajouter une--delete
option.Comme suggéré par masegaloeh dans les commentaires ci-dessous,
-n
ou l'--dry-run
option peut également être utilisée pour testerrsync
le comportement des commandes.la source
-n
ou--dry-run
, afin que vous sachiez quel fichier sera supprimé et modifiéUn outil wrapper écrit en python3 appelé
bsync
wrapsfind
etrsync
commande simplifie la tâche. Repo Github: https://github.com/dooblem/bsyncN'ayez pas peur quand il est sur github (c'est-à-dire d'une manière que vous pensez que vous devez être un programmeur pour utiliser l'outil).
la source
pensez à utiliser --delete-after et non --delete, cela garantira que votre destinataire recevra les fichiers supprimés après le transfert, pas avant.
la source
rsync
supprimer quoi que ce soit. Il supprime des choses par lui-même. Cela dit, un conseil utile pour la synchronisation en général. Merci.