[Résolu] Problème de lancement incrontab

Hive
Messages : 20
Inscription : 07 septembre 2015, 14:07

[Résolu] Problème de lancement incrontab

Message par Hive » 12 octobre 2015, 16:01

Bonjour à toutes/tous.

Je dois surveiller un dossier pour activer un logiciel dès qu'un fichier arrive dans ce dit dossier. Mais plutôt que de laisser tourner un script qui vérifie régulièrement la présence d'un fichier dans ce dossier par le biais d'une boucle while (et donc la monopolisation d'un terminal en permanence), je préfèrerais utiliser l'outil incrontab.

Je n'arrive cependant pas à le faire fonctionner. En suivant un petit tutoriel à cette page (http://dmesg.fr/categorie-logiciels/75- ... e-fichiers), je me retrouve avec la même configuration, soit :

Code : Tout sélectionner

[sbsuser@lochost ~]$ cat incron-script.sh 
#!/bin/bash

echo $1 | grep -i "\.zip"
if [ $? = 0 ]
then
mv /home/sbsuser/download/$1 /home/sbsuser/repzip/
fi

echo $1 | grep -i "\.pdf"
if [ $? = 0 ]
then
mv /home/sbsuser/download/$1 /home/sbsuser/reppdf/
fi
et :

Code : Tout sélectionner

[sbsuser@lochost ~]$ incrontab -l
/home/sbsuser/download IN_CLOSE_WRITE /home/sbsuser/incron-script.sh $#
Et je n'obtiens aucun résultat en téléchargeant un fichier pdf (ou même une simple copie) dans le dossier download. J'ai testé avec une commande basique :

Code : Tout sélectionner

[sbsuser@lochost ~]$ incrontab -l
/home/sbsuser/download IN_CLOSE_WRITE echo toto
Et aucun résultat non plus. J'ai l'impression que incrontab n'est pas actif ou ne comprends pas les conditions de déclenchement (à moins que ce soit moi qui ais loupé un truc).

S'il y a des utilisateurs d'incrontab, je voudrais bien leur aide :)
Dernière modification par Hive le 14 octobre 2015, 09:01, modifié 1 fois.

Avatar de l’utilisateur
nouvo09
Messages : 2183
Inscription : 20 octobre 2009, 08:14
Localisation : Paris, France

Re: Problème de lancement incrontab

Message par nouvo09 » 12 octobre 2015, 17:08

Salut

Tu es sur que incrond est lancé ?

Que renvoie

systemctl status incrond

?
C'est pas parce que c'est difficile qu'on ose pas,
c'est parce qu'on ose pas que c'est difficile !

Beta-Pictoris
Messages : 1017
Inscription : 07 janvier 2014, 21:48
Localisation : Angers, France

Re: Problème de lancement incrontab

Message par Beta-Pictoris » 12 octobre 2015, 18:54

Pour information, le paquet incron se trouve dans le dépôt epel.
Cela dit, systemd est capable de surveiller un répertoire et lancer un service. Voir la page de manuel systemd.path pour cela.

Hive
Messages : 20
Inscription : 07 septembre 2015, 14:07

Re: Problème de lancement incrontab

Message par Hive » 13 octobre 2015, 09:35

J'ai installé incron via un fichier rpm téléchargé depuis l'index du dépôt epel (http://mir01.syntis.net/epel//7/x86_64/).

Pour la commande, j'ai du mal à savoir où en est incrond mais il me semble inactif (dead).

Code : Tout sélectionner

[sbsuser@lochost ~]$ systemctl status incrond
incrond.service - Inotify System Scheduler
   Loaded: loaded (/usr/lib/systemd/system/incrond.service; disabled)
   Active: inactive (dead)
Pour systemd, je ne connais pas, je vais voir ça.

Hive
Messages : 20
Inscription : 07 septembre 2015, 14:07

Re: Problème de lancement incrontab

Message par Hive » 13 octobre 2015, 10:14

Bon comme quoi la persévérance ça fini par payer. Après une énième recherche sur le net, j'ai réussi à lancer incrond avec les commandes:

Code : Tout sélectionner

chkconfig incrond on
Pour passer incron en enabled

Code : Tout sélectionner

[root@lochost init.d]# systemctl status incrond
incrond.service - Inotify System Scheduler
   Loaded: loaded (/usr/lib/systemd/system/incrond.service; enabled)
   Active: inactive (dead)
Et

Code : Tout sélectionner

service incrond start
Pour lancer incrond (running)

Code : Tout sélectionner

[root@lochost init.d]# systemctl status incrond
incrond.service - Inotify System Scheduler
   Loaded: loaded (/usr/lib/systemd/system/incrond.service; enabled)
   Active: active (running) since mar. 2015-10-13 10:08:10 CEST; 3s ago
  Process: 12314 ExecStart=/usr/sbin/incrond (code=exited, status=0/SUCCESS)
 Main PID: 10273 (incrond)
   CGroup: /system.slice/incrond.service
           ‣ 10273 incrond
En retournant sur mon petit test, il a enfin fonctionné :)

Merci pour le coup de main !

Répondre