difficulté à faire incrot inotify pour travailler

donc après réponse alex voici mes pas:

créer un code shell

root@ip[/]# touch mylog.sh root@ip[/]# nano mylog.sh 

copier le code dans le mylog.sh

 #!/bin/bash echo "File $1 created." >> /mylog.log 

autorisation

 root@ip[/]# chmod +x mylog.sh 

créer le fichier journal

 root@ip[/]# touch mylog.log 

ouverture de la table icron

 incrontab -e 

mettre de nouvelles commandes dans

 /test/ IN_CREATE mylog.sh $@$# 

recharger incron – créer un nouveau fichier – vérifier le fichier journal

 root@ip[/]# incrontab --reload requesting table reload for user 'root'... request done root@ip[/]# cd test root@ip[/test]# touch newfile.txt root@ip[/test]# cd / root@ip[/]# nano mylog.log 

mais toujours vide fichier journal … est-ce que je manque quelque chose?


enfin l’appel du script shell avec le chemin complet a fait l’affaire:

 /test/ IN_CREATE /mylog.sh $@$# 

Vous pouvez généralement trouver les journaux incron dans / var / log / messages

Si vous souhaitez enregistrer des événements dans un fichier spécifique, vous pouvez utiliser:

 /test/ IN_CREATE mylog.sh $@$# 

où mylog.sh est un script shell qui gère la journalisation.

 #!/bin/bash echo "File $1 created." >> /home/myuser/filescreated.log 

N’oubliez pas de donner l’autorisation d’exécution à ce script shell par chmod + x mylog.sh

Explication: Dès que vous commencez à utiliser les parameters de votre commande que vous appelez, vous devez tout mettre dans un script shell. Étant donné qu’Incron ne transmet pas les arguments à votre commande mais l’interprète comme un argument pour lui-même.

N’oubliez pas d’appeler incrontab –reload après avoir changé l’incrontab.

Un autre exemple

incrontab -e

 /text/ IN_CREATE /home/myuser/mylog.sh $@ $# 

mylog.sh

 #!/bin/bash echo "$(date) File $2 in $1 created." >> /home/myuser/log.txt