J'essaie de configurer la synchronisation bidirectionnelle ou bidirectionnelle avec rsync. Dans mon cas, je n'ai besoin que de supprimer les fichiers lors de la synchronisation de B vers A. Donc, je pensais à exécuter rsync deux fois 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 l'exécution de rsync (AB), tout nouveau fichier créé entre la synchronisation sera également supprimé.
Existe-t-il un moyen de spécifier un horodatage comme condition qu'il ne supprime le fichier que s'il a été créé avant cette date / heure.
Mise à jour:
Je comprends qu'il existe une solution à l'unisson, mais le problème avec l'unisson doit être installé aux deux extrémités. Je synchronise avec un serveur distant et je ne peux pas installer à l'unisson sur l'extrémité distante.
Réponses:
Vous pouvez essayer osync qui est conçu exactement pour cette tâche. Une fois, j'ai configuré une séquence complexe de commandes rsync pour faire le travail, mais j'utilise maintenant osync.
https://github.com/deajan/osync
Il utilise rsync en interne, il devrait donc convenir à toutes les situations où vous pourriez utiliser rsync.
la source
rsync
n'est pas le bon outil pour cette tâche, pour exactement les raisons que vous avez rencontrées. Envisagez plutôt d'utiliserunison
:La première fois que vous l'exécutez, il identifiera les fichiers qui se trouvent uniquement
A
et ceux qui s'y trouventB
. Il signalera également ceux qui se trouvent aux deux endroits et vous demandera d'identifier ceux qui doivent être remplacés.La prochaine fois que vous exécutez ce copiera les changements de
A
laB
et aussiB
àA
, diriger la circulation tous les fichiers qui ont été modifiés dans les deux endroits pour la recherche manuelle.Il existe un certain nombre d'indicateurs utiles pour
unison
aider à automatiser le processus en définissant des hypothèses et en réduisant ainsi le nombre de questions qui vous sont posées lors de la synchronisation.la source
Ce dont vous avez vraiment besoin, c'est de Rclone . Rclone est rsync pour le stockage cloud (box, dropbox, nextcloud, ftp etc.) et le stockage local.
la source