J'ai un dossier a / et un dossier distant A /. Je lance maintenant quelque chose comme ça sur un Makefile:
get-music:
rsync -avzru server:/media/10001/music/ /media/Incoming/music/
put-music:
rsync -avzru /media/Incoming/music/ server:/media/10001/music/
sync-music: get-music put-music
quand je fais de la musique sync, il obtient d'abord tous les diffs du serveur au local, puis l'inverse, en envoyant tous les diffs du local au serveur.
Cela ne fonctionne très bien que s'il n'y a que des mises à jour ou de nouveaux fichiers à venir. S'il y a des suppressions, cela ne fait rien.
Dans rsync, il y a des options --delete et --delete-after pour aider à accomplir ce que je veux, mais le fait est que cela ne fonctionne pas sur une synchronisation bidirectionnelle.
Si je veux supprimer les fichiers du serveur sur une synchronisation, lorsque les fichiers locaux ont été supprimés, cela fonctionne, mais si, pour une raison quelconque (expliquée après), j'ai des fichiers qui ne sont pas sur le serveur mais qui existent localement et ils ont été supprimés, Je veux les supprimer localement et non le serveur copié (comme cela se produit).
Le fait est que j'ai 3 machines en contexte:
- bureau
- carnet
- serveur domestique
Ainsi, parfois, le serveur aura des fichiers qui ont été supprimés avec une synchronisation de bloc-notes, par exemple, puis, lorsque j'exécute une synchronisation avec mon bureau (où les fichiers de serveur supprimés existent toujours), je veux que ces fichiers soient supprimés et non copié à nouveau sur le serveur.
Je suppose que cela n'est possible qu'avec une base de données et un suivi des opérations: P
Des solutions plus simples? Je vous remercie.