synchronisation bidirectionnelle avec rsync

J'essaye de mettre en place la synchronisation bidirectionnelle ou bidirectionnelle avec rsync. Dans mon cas, j'ai seulement besoin de supprimer les files lors de la synchronisation de B à A. Donc, je pensais à exécuter deux fois rsync comme suit:

rsync -rtuv ./A/ ./B/ rsync -rtuv --delete ./B/ ./A/ 

Ce problème avec cette solution est que lorsque j'exécute rsync (B-> A) qui serait juste après avoir exécuté le rsync (AB), tout nouveau file qui sera créé entre la synchronisation sera également supprimé.

Existe-t-il un moyen de spécifier un horodatage comme condition de supprimer uniquement le file s'il a été créé avant cette date / heure.

Actualisé:

Je comprends qu'il y a une solution à l'unisson mais le problème avec l'unisson est requirejs pour l'installation aux deux extrémités. Je suis en train de synchroniser avec un server distant et je ne peux pas installer unison sur le bout distant.

Vous pouvez essayer osync qui est conçu pour exactement cette tâche. Une fois, j'ai mis en place une séquence complexe de commands rsync pour faire le travail, mais j'utilise maintenant osync.

https://github.com/deajan/osync

Il utilise rsync en interne, il devrait donc être adapté à toute situation où vous pourriez utiliser rsync.

rsync est le mauvais outil pour cette tâche, pour exactement les raisons que vous avez rencontrées. Au lieu de cela, envisagez d'utiliser l' unison :

 unison A/ B/ 

La première fois que vous exécutez cela, il identifiera les files qui sont uniquement dans A , et ceux qui sont uniquement dans B Il signalera également ceux qui sont dans les deux endroits et vous requestra d'identifier lequel doit être écrasé.

La prochaine fois que vous l'exécuterez, il copyra les modifications de A à B et B vers A , signalant les files qui ont été modifiés aux deux endroits pour une résolution manuelle.

 mkdir AB date > A/date who > B/who unison A/ B/ # Lots of output from unison, showing synchronisation ls A date who ls B date who date > A/date unison A/ B/ # Lots of output from unison, showing synchronisation 

Il existe un certain nombre de drapeaux utiles à l' unison qui aident à automatiser le process en définissant des hypothèses et en réduisant ainsi le nombre de questions qui vous sont posées durant la synchronisation.