Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
incron [Le 11/06/2016, 14:53] 31.32.58.28 [Configurer les dossiers et les actions à effectuer] |
incron [Le 14/07/2023, 12:01] (Version actuelle) Benjamin Loison [Configurer les dossiers et les actions à effectuer] Retrait d'un espace non nécessaire |
||
---|---|---|---|
Ligne 14: | Ligne 14: | ||
* **incrond** : un démon (un service qui tourne en tâche de fond) | * **incrond** : un démon (un service qui tourne en tâche de fond) | ||
* **incrontab** : configurer les actions en ligne de commande | * **incrontab** : configurer les actions en ligne de commande | ||
- | * **/etc/incron.conf** : le fichier de configuration principal | + | * **/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.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 | * **/etc/incron.{allow,deny}** (optionnel) : fichier définissant les utilisateurs autorisés à utiliser l’outil | ||
Ligne 31: | Ligne 31: | ||
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 : | 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 <code>sudo rm -f /etc/incron.allow</code> | + | * Effacer le fichier <code>sudo rm -f /etc/incron.allow</code> |
* Ajouter l'utilisateur courant (ou ceux voulus) <code>echo $USER | sudo tee -a /etc/incron.allow</code> | * Ajouter l'utilisateur courant (ou ceux voulus) <code>echo $USER | sudo tee -a /etc/incron.allow</code> | ||
==== Configurer les dossiers et les actions à effectuer ==== | ==== Configurer les dossiers et les actions à effectuer ==== | ||
Lancer **incrontab** pour assigner des actions en fonction des fichiers/dossiers paramétrés : | Lancer **incrontab** pour assigner des actions en fonction des fichiers/dossiers paramétrés : | ||
- | incrontab -e | + | <code bash>incrontab -e</code> |
+ | <note>Cet utilitaire modifie un fichier dont le chemin est ///var/spool/incron/$USER//</note> | ||
+ | | ||
ou bien créer un fichier texte dans le dossier : | ou bien créer un fichier texte dans le dossier : | ||
/etc/incron.d/ | /etc/incron.d/ | ||
Ligne 43: | Ligne 45: | ||
Le format de saisie de incrontab est : | Le format de saisie de incrontab est : | ||
- | **<chemin> <type d'événement> <commande à exécuter>** | + | **<chemin_répertoire_ou_fichier> <type(s) d'événement(s) séparés par un virgule> <commande ou script à exécuter>** |
//Exemple// : | //Exemple// : | ||
Ligne 53: | Ligne 55: | ||
* Il est préférable d'**utiliser un script** plutot que de lancer directement des commandes. Effectivement, certaines commandes semblent ne pas marcher quand elles sont directement appelé dans le fichier alors qu'elles marchent quand elles sont appelées dans le script. | * Il est préférable d'**utiliser un script** plutot que de lancer directement des commandes. Effectivement, certaines commandes semblent ne pas marcher quand elles sont directement appelé dans le fichier alors qu'elles marchent quand elles sont appelées dans le script. | ||
- | * Le display n'est pas actif. Vous ne pouvez donc pas appeler de commande graphique tel que Zenity pour afficher des boites de dialogue (ou alors qqn pourrait expliquer comment ?). | + | * Le display n'est pas actif. Vous ne pouvez donc pas appeler de commande graphique tel que Zenity pour afficher des boites de dialogue (ou alors quelqu'un pourrait expliquer comment ?). |
Une possibilité (à inclure dans le script exécuté par incron) : **à adapter selon la session et l'utilisateur** | Une possibilité (à inclure dans le script exécuté par incron) : **à adapter selon la session et l'utilisateur** | ||
<code>sudo -u nom_utilisateur sh -c '\ | <code>sudo -u nom_utilisateur sh -c '\ | ||
Ligne 62: | Ligne 64: | ||
zenity --info --title "TEST INCRON" --text "test graphique incron." | zenity --info --title "TEST INCRON" --text "test graphique incron." | ||
'</code> | '</code> | ||
- | On peut ajouter <code> -- "$@"</code> après la dernière simple quote ' pour récupérer les arguments passés au script et donc afficher qui a déclenché quoi | + | On peut ajouter <code> -- "$@"</code> après la dernière simple quote ' pour récupérer les arguments passés au script et donc afficher qui a déclenché quoi |
* Si vous voulez appliquer plusieurs événements, il faut les séparer par une virgule et non insérer plusieurs lignes | * Si vous voulez appliquer plusieurs événements, il faut les séparer par une virgule et non insérer plusieurs lignes | ||
Ligne 72: | Ligne 74: | ||
| 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_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_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_CREATE | le 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 | le fichier ou répertoire supprimé dans un répertoire surveillé | |
| IN_DELETE_SELF | le fichier ou répertoire surveillé est supprimé | | | IN_DELETE_SELF | le fichier ou répertoire surveillé est supprimé | | ||
| IN_MODIFY | le fichier ou répertoire a été modifié | | | IN_MODIFY | le fichier ou répertoire a été modifié | | ||
Ligne 86: | Ligne 88: | ||
^ Wildcard ^ Signification ^ | ^ Wildcard ^ Signification ^ | ||
- | | $# | nom du fichier ou non du dossier sur lequel l’événement est intervenu | | + | | $# | nom du fichier ou nom du dossier sur lequel l’événement est intervenu | |
| $@ | chemin complet (dossier) du fichier/répertoire surveillé | | | $@ | chemin complet (dossier) du fichier/répertoire surveillé | | ||
| $% | nom (textuel) de l’événement intervenu | | | $% | nom (textuel) de l’événement intervenu | | ||
Ligne 98: | Ligne 100: | ||
===== Liens ===== | ===== Liens ===== | ||
Merci infiniment pour ces 2 liens qui ont servi d'inspiration pour cette page : | Merci infiniment pour ces 2 liens qui ont servi d'inspiration pour cette page : | ||
- | * [[http://www.admin-linux.fr/?p=4840|Une description intéressante sur admin-linux.fr]] | + | * [[https://www.dmesg.fr/categorie-logiciels/75-incron-executer-des-actions-selon-des-evenements-du-systeme-de-fichiers|Une autre description intéressante sur dmesg.fr]] |
- | * [[http://dmesg.fr/categorie-logiciels/75-incron-executer-des-actions-selon-des-evenements-du-systeme-de-fichiers|Une autre description intéressante sur dmesg.fr]] | + | * [[https://www.it-connect.fr/incron-executer-des-actions-selon-des-evenements/|Tutoriel sur l'utilisation d'Incron]] sur IT-Connect.fr |
- | * [[http://www.it-connect.fr/incron-executer-des-actions-selon-des-evenements/|Tutoriel sur l'utilisation d'Incron]] sur IT-Connect.fr | + | |
* [[:cron]] : planifier/programmer des tâches | * [[:cron]] : planifier/programmer des tâches | ||
* [[:Anacron]] : planificateur de commande « anachronique » | * [[:Anacron]] : planificateur de commande « anachronique » | ||
* [[fcron]] : programmer des tâches devant être exécutées | * [[fcron]] : programmer des tâches devant être exécutées | ||