« Incron » : différence entre les versions

De Wiki doc

(Changement de catégorie)
 
Ligne 1 : Ligne 1 :
[[Category:service_cron]]
[[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.



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