« Incron » : différence entre les versions
De Wiki doc
(Page créée avec « Category:service_cron incron est un outil qui exécute des actions selon des événements du système de fichiers. =Composition= Il est composé de : * '''incrond'''... ») |
(Changement de catégorie) |
||
(Une version intermédiaire par le même utilisateur non affichée) | |||
Ligne 1 : | Ligne 1 : | ||
[[Category: | [[Category:Service_ordonnancement]] | ||
incron est un outil qui exécute des actions selon des événements du système de fichiers. | incron est un outil qui exécute des actions selon des événements du système de fichiers. | ||
Ligne 12 : | Ligne 12 : | ||
=Fonctionnement= | =Fonctionnement= | ||
Le fonctionnement est proche de cron : | Le fonctionnement est proche de [[cron]] : | ||
Le démon incrond | Le démon incrond scan les fichiers /etc/incron.d/ pour savoir quoi faire en fonction des évènements du système. | ||
=Installation= | =Installation= |
Dernière version du 28 février 2022 à 00:09
incron est un outil qui exécute des actions selon des événements du système de fichiers.
Composition
Il est composé de :
- incrond : un démon (un service qui tourne en tâche 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 évènements du système.
Installation
Installer incron
# apt install incron
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
# rm -f /etc/incron.allow
Ajouter l'utilisateur courant (ou ceux voulus)
# echo $USER | tee -a /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/mon_user/download IN_CLOSE_WRITE /home/mon_user/mon_script_incron.sh
Type d'événement
- IN_ACCESS : le fichier a été accédé (lecture)
- IN_ATTRIB : les métadonnées du fichier ont été modifiées (permissions, timestamp, attributs étendus, etc)
- IN_CLOSE_WRITE : fermeture d’un fichier avec écriture. On attend que le fichier soit clôturé, dans notre cas, que le téléchargement SOIT TERMINE avant de déclencher la commande ou le script
- IN_CLOSE_NOWRITE : fermeture d’un fichier sans écriture
- IN_CREATE : fichier ou répertoire créé dans un répertoire surveillé. 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 TÉLÉCHARGEMENT. L’opération de déplacement échouerait.
- IN_DELETE : fichier ou répertoire supprimé dans un répertoire surveillé
- 'IN_DELETE_SELF : le fichier ou répertoire surveillé est supprimé
- IN_MODIFY : le fichier ou répertoire a été modifié
- IN_MOVE_SELF : le fichier ou répertoire a été déplacé
- 'IN_MOVED_FROM : un fichier du répertoire surveillé à été déplacé
- IN_MOVED_TO : un fichier à été déplacé dans le répertoire surveillé
- IN_ALL_EVENTS : combinaison de tous ce qui précède
- IN_MOVE : équivalent à IN_MOVED_FROM ou IN_MOVED_TO
- IN_CLOSE : équivalent à IN_CLOSE_WRITE ou IN_CLOSE_NOWRITE
Wildcard
- $# : nom du fichier ou non du dossier sur lequel l’événement est intervenu
- $@ : chemin complet (dossier) du fichier/répertoire surveillé
- $% : nom (textuel) de l’événement intervenu
- $& : numéro de l’événement intervenu
- $$ : le caractère dollar (“$”)
Prise en compte de la configuration
La prise en compte de la configuration ce fait en redemarrant le demon
# service incron restart