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) |
Liens
Merci infiniement pour ces 2 liens qui ont servi d'inspiration pour cette page :