6 votes

Synchronisation automatique des fichiers locaux vers distants

Y a-t-il des outils OSX qui peuvent surveiller les changements de fichier dans un répertoire puis synchroniser (SFTP) ces changements vers un serveur distant ?

En gros, je veux éditer des fichiers localement (peu importe les fichiers, peu importe le programme) et les téléverser automatiquement sur le serveur.

Rsync ne peut pas surveiller un répertoire pour des changements par lui-même, et je n'arrive pas à faire fonctionner lyncd sur OSX, en raison de l'absence d'outil inotify.

Des idées ?

2voto

Adi Points 1105

Je ne connais que des systèmes propriétaires comme DropBox.

Mais il semble que cela pourrait être fait assez facilement en utilisant kqueue pour détecter les modifications de fichiers, et en exécutant rsync quelques secondes plus tard.

2voto

user1556373 Points 1099

RE : ".. Fondamentalement, je veux modifier des fichiers localement (peu importe les fichiers, peu importe le programme) et les télécharger automatiquement sur le serveur."

Vous êtes chanceux, DoubleDown fera exactement ce que vous avez spécifié :

Téléchargement direct de DoubleDown ici.

Page de téléchargement de DoubleDown avec plus d'informations ici.

Plus d'informations sur DoubleDown :

Doubledown conserve une copie locale complète du répertoire distant que vous synchronisez, ainsi toutes vos opérations locales sont extrêmement rapides. Après avoir effectué une synchronisation initiale (en veillant à ne pas écraser les modifications locales), Doubledown est informé des changements par le cadre FSEvents de Mac OS X et répond en créant, téléchargeant et supprimant les fichiers ou répertoires nécessaires.

En espérant que cela vous aide.

1voto

dan8394 Points 3487

Si vous êtes satisfait d'écrire un script, les actions de dossier vous permettent d'atteindre ce dont vous avez besoin :

http://www.simplehelp.net/2007/01/30/folder-actions-for-os-x-explained-with-real-world-examples/

La page suivante semble offrir exactement la solution que vous recherchez :

http://sites.google.com/site/andreatagliasacchi/blog/osxautomaticsyncwithfolderactions

1voto

olivier Points 2387

Voici un article sur la façon de le faire avec un script Ruby.

Il utilise FSEvent, l'équivalent de inotify sur Mac OS X.

1voto

kenorb Points 11627

Utilisez entr outil en ligne de commande pour surveiller les modifications de fichiers dans un répertoire. Il a une option spéciale -d pour réagir aux événements lorsqu'un nouveau fichier est ajouté à un répertoire. Cela implique que si un nouveau fichier apparaît, il doit sortir pour permettre à une boucle de shell externe de réanalyser le système de fichiers, donc lorsque -d est utilisé, vous devez l'utiliser avec une boucle. Par exemple (pour vérifier les modifications dans le répertoire path/):

$ while true; do
> find path/ | entr -d sh -c 'rsync -vuar path/ example.com:. && echo Mis à jour'
> done

Installation via Brew: brew install entr.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X