Outils pour utilisateurs

Outils du site


Panneau latéral

linux:incron (lu 21372 fois)

incron

incron permet d’exécuter n’importe quel script ou programme lorsqu’un événement sur fichier se produit. Exemple : si tel fichier est modifié alors on envoie un email, si tel fichier est créé alors on lance un traitement dessus etc…

Installation

aptitude install incron

Configuration

Par défaut, personne n’est autorisé à utiliser incron. Ceci est défini dans le fichier /etc/incron.allow. Soit vous supprimez ce fichier que que tout le monde puisse utiliser incron, soit vous identifiez les utilisateurs dans ce fichier.

Le fichier de conf /etc/incron.conf n’a pas besoin de changement particulier.

Utilisation

L’utilisation est proche de crontab, on lance donc la commande incrontab de la même façon avec -l pour lister, -e pour éditer, -u toto pour spécifier de quel utilisateur nous modifions les taches etc…

Voici la syntaxe :

<fichier/répertoire à surveiller> <événement à surveiller> <script à exécuter lorsque l’événement survient>

exemple, si le fichier /etc/passwd a été modifié, alors on exécute le script qui va m’envoyer un mail d’alerte.

/etc/passwd IN_MODIFY /root/script/mail_alert_passwd_modifié
incron n’est pas récursif, si vous surveillez un répertoire il ne tiendra pas compte de ce qu’il se passe dans ses sous-répertoires.

Les événements sont dispo dans le man de inotify ⇒ http://linux.die.net/man/7/inotify

  • 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 ;
  • IN_CLOSE_NOWRITE : fermeture d’un fichier sans écriture ;
  • IN_CREATE : fichier ou répertoire créé dans un répertoire surveillé ;
  • 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_OPEN : le fichier à été ouvert ;
  • 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 ;

Plusieurs valeurs sont possibles séparées par des virgules.

Vous pouvez passer plusieurs paramètres dans le script que vous appelez grâce à ses jokers

  • $@ : chemin complet du fichier/répertoire surveillé
  • $# : nom du fichier/répertoire sur lequel l’événement est intervenu
  • $% : nom (textuel) de l’événement intervenu
  • $& : numéro de l’événement intervenu
  • $$ : le caractère dollar (“$”)

Si vous ne souhaitez pas utiliser la commande incrontab -e vous pouvez créer des fichiers dans /etc/incrontab.d/, la syntaxe est la même. A priori vous ne pouvez pas spécifier l’utilisateur contrairement à /etc/crond.d/

linux/incron.txt · Dernière modification: 10-02-2015 15:20 de edmc73