Outils pour utilisateurs

Outils du site


linux:incron (lu 6930 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

linux:incron [10-02-2015 15:20] (Version actuelle)
edmc73 créée
Ligne 1: Ligne 1:
 +====== 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é
 +
 +<note important>**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.</note>
 +
 +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