J'ai un dossier racine sur deux ordinateurs (sur lesquels j'exécute des programmes de manière alternative). Disons :
serveur0:
-mon_dossier
--sous_dossier0
--sous_dossier1
serveur1:
-mon_dossier
--sous_dossier0
--sous_dossier1
J'ai donc des tâches groupées sur serveur0 qui mettront à jour certains fichiers dans ces dossiers. Et j'ai des tâches interactives sur serveur1 qui mettront également à jour ces fichiers. Il est garanti que je ne mettrai jamais à jour le même fichier en même temps.
J'ai accès de serveur1 à serveur0 via SSH.
J'ai vérifié des solutions censées faire cela. osync et unison semblent tous deux le faire. Mais ils sont tous déclenchés uniquement à partir d'une machine. Ainsi, les mises à jour de fichiers sur serveur0, par exemple, ne déclencheront pas de mise à jour. Seules les mises à jour sur serveur1 le feront.
Le même problème existe avec rsync. Si rsync s'exécute sur les deux serveurs, il est très possible d'avoir des conditions de course où les 2 serveurs se renvoient les mêmes fichiers d'un côté à l'autre.
Quelqu'un connaît-il une solution pour cela ?