GNU/Linux >> Tutoriels Linux >  >> Linux

Exécuter le script/programme lorsque le fichier change

l'une de vos options est le sous-système inotify du noyau Linux :

inotify est un sous-système du noyau Linux qui agit pour étendre les systèmes de fichiers afin de remarquer les modifications apportées au système de fichiers et de signaler ces modifications aux applications

mais depuis inotify est kernel-land, vous avez besoin de quelque chose dans l'espace utilisateur pour l'utiliser réellement :

  • inchron :

Le démon cron inotify (incrond) est un démon qui surveille les événements du système de fichiers et exécute les commandes définies dans les tables système et utilisateur. Son utilisation est généralement similaire à cron(8).

  • gamin :

Gamin est un système de surveillance des fichiers et des répertoires qui implémente indépendamment un sous-ensemble de FAM, le File Alteration Monitor. Fonctionnant en tant que service, il permet de détecter les modifications d'un fichier ou d'un répertoire. gam_server fonctionne comme un démon pour Gamin.

  • 'inconnu' :

inoticoming - déclenche des actions lorsque des fichiers arrivent dans un répertoire entrant

il y avait une réponse à une question similaire sur askubuntu :

https://askubuntu.com/a/43848/1223


Une autre façon rapide et sale de le faire est d'utiliser inotifywait du paquet inotify-tools (sur fedora).

J'aime mieux cette méthode car vous pouvez tout faire à partir d'une seule ligne de commande bash. Je l'utilise souvent lorsque j'écris de petits programmes pour voir les résultats de ce que je viens d'enregistrer.

while [[ 1 ]]; do inotifywait -e modify <filename>; make && ./helloworld; done

Linux
  1. Est-il possible de savoir quel programme ou script a créé un fichier donné ?

  2. Pourquoi la valeur d'inode change lorsque nous éditons dans l'éditeur "vi" ?

  3. surveillance des modifications de fichiers c++ linux

  4. Comment exécuter un fichier sans extension .sh dans le shell

  5. OpenVPN --up script - impossible d'exécuter le programme externe

35 exemples de scripts bash

Comment exécuter un fichier .sh au démarrage de la session ?

Comment exécuter un script à la fin de la session xfce

impossible d'exécuter un fichier binaire lors de la tentative d'exécution d'un script shell sous Linux

Comment exécuter une commande à chaque fois qu'un fichier change ?

Comment exécuter automatiquement un script lorsque le contenu d'un répertoire change sous Linux ?