Duplicata possible:
regarder le système de fichiers en temps réel sur OS X et Ubuntu
Je cherche une méthode efficace pour surveiller un répertoire local dans OSX et si des fichiers ont été modifiés dans ce répertoire, exécutez un script bash pour valider les fichiers dans github.
Des outils recommandés pour surveiller un répertoire pour les modifications de fichiers, puis déclencher une action, c'est-à-dire un script bash?
Réponses:
Utilisation de fswatch depuis votre référentiel:
Cet exemple simple n'attraperait que les modifications apportées aux fichiers déjà dans le référentiel.
la source
fswatch
après avoir lu votre réponse. Excellent utilitaire - très similaire àinotify
Linux et utilise le natif d'OS Xfsevent
Une option serait d'utiliser simplement launchd. Enregistrez une liste de propriétés comme celle-ci sous
~/Library/LaunchAgents/com.superuser.445907.plist
et chargez-la aveclaunchctl load ~/Library/LaunchAgents/com.superuser.445907.plist
ou en vous déconnectant puis en vous reconnectant.Launchd enregistre uniquement les modifications apportées aux fichiers lorsqu'ils sont enregistrés atomiquement, ou supprimés et recréés chaque fois qu'ils sont enregistrés. La plupart des applications OS X effectuent des sauvegardes atomiques par défaut, mais par exemple TextMate et vim ne le font pas. Les changements dans les sous-dossiers des dossiers surveillés ne sont pas détectés.
launchctl unload $path && launchctl load $path
applique les modifications à un plist.Voir
man launchd
etman launchd.plist
pour plus d'informations.la source