Ceci est une ancienne révision du document !
Présentation
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.
Gérer les autorisations de l'utilisation de incron
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
Configurer les dossiers et les actions à effectuer
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) |