Ceci est une ancienne révision du document !


Présentation

inron est le diminutif de inotify crontab qui est le diminutif de chrono table qui signifie table de planification. https://fr.wikipedia.org/wiki/Inotifyinotify' est un mécanisme du noyau Linux qui fournit des notifications concernant le système de fichiers.

incron est un outil qui exécute des actions selon des événements du système de fichiers.

Il est composé de :

  • incrond : un démon (un service qui tourne en tache de fond)
  • incrontab : configurer les actions en ligne de commande
  • /etc/incron.conf : le fichier de configuration principal
  • /etc/incron.d/ : répertoire contenant la définition de fichiers/de répertoires à monitorer
  • /etc/incron.{allow,deny} (optionnel) : fichier définissant les utilisateurs autorisés à utiliser l’outil

Fonctionnement : le fonctionnement est proche de cron :

  • le démon incrond scan les fichiers /etc/incron.d/ pour savoir quoi faire en fonction des evenements du system

Installation

Configuration

L'utilisation est proche de cron.

Si le fichier /etc/incron.allow existe, alors seuls les utilisateurs qui sont dans ce fichier ont le droit d'utiliser incron. Ainsi, il vous faut soit :

  • Effacer le fichier
    sudo rm -f  /etc/incron.allow
  • Ajouter l'utilisateur courant (ou ceux voulus)
    echo $USER | sudo tee /etc/incron.allow

Lancer incrontab pour assigner des actions en fonction des fichiers/dossiers paramétrés :

incrontab -e

Le format de saisie de incrontab est :

<chemin> <type d'événement> <commande à exécuter>

Exemple : /home/MonUser/download IN_CLOSE_WRITE /home/td/incron-script.sh

Liste des types d'événements :

type d'événement Signification
IN_ACCESS File was accessed (read)
IN_ATTRIB Metadata changed (permissions, timestamps, extended attributes, etc.)
IN_CLOSE_WRITE File opened for writing was closed. on attend que le fichier soit cloturé, dans notre cas, que le téléchargement SOIT TERMINE avant de déclencher la commande ou le script
IN_CLOSE_NOWRITE File not opened for writing was closed
IN_CREATE File/directory created in watched directory. Attention : la commande est déclenchée lorsque le fichier est créé MAIS pas "terminé". Dans le cas d'un téléchargement qui dure 2 mn dans notre répertoire "download", la commande se déclencherait dès la création du fichier SANS ATTENDRE LA FIN DU TELECHARGEMENT. L'operation de déplacement échouerait.
IN_DELETE File/directory deleted from watched directory
IN_DELETE_SELF Watched file/directory was itself deleted
IN_MODIFY File was modified
IN_MOVE_SELF Watched file/directory was itself moved
IN_MOVED_FROM File moved out of watched directory
IN_MOVED_TO File moved into watched directory
IN_OPEN File was opened

Pour utiliser contextuellement les fichiers/dossiers, des "Wildcard" sont disponibles :

Wildcard Signification
$$ dollar sign
$@ watched filesystem path (see above)
$# event-related file name
$% event flags (textually)
$& event flags (numerically)

Liens

Merci infiniement pour ces 2 liens qui ont servi d'inspiration pour cette page :

  • incron.1397925525.txt.gz
  • Dernière modification: Le 19/04/2014, 18:38
  • par sangorys