linux centos filesystems incron

linux - problemas para conseguir incron inotify para trabajar



centos filesystems (1)

Por lo general, puede encontrar los registros de incron en / var / log / messages

Si desea registrar eventos en un archivo específico, puede usar:

/test/ IN_CREATE mylog.sh $@$#

donde mylog.sh es un script de shell que maneja el registro.

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

No te olvides de dar permiso de ejecución a este script de shell por chmod + x mylog.sh

Explicación: Tan pronto como empiece a usar parámetros para su comando al que está llamando, debe ponerlo todo en un script de shell. Dado que incron no pasa los argumentos a su comando sino que lo interpreta como un argumento para sí mismo.

No se olvide de llamar a incrontab --reload después de cambiar el incrontab.

Otro ejemplo

incrontab -e

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

mylog.sh

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

así que después de la respuesta de Alex aquí están mis pasos:

creando código de shell

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

copiando el código en mylog.sh

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

permiso

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

creando el archivo de registro

root@ip[/]# touch mylog.log

abriendo mesa icron

incrontab -e

poniendo nuevo comando en

/test/ IN_CREATE mylog.sh $@$#

recargar incron - crear un nuevo archivo - verificar el archivo de registro

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

pero aún archivo de registro vacío ... ¿me falta algo?

finalmente llamar al script de shell con la ruta completa hizo el truco así:

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