gpt4 book ai didi

linux - 无法让 incron inotify 工作

转载 作者:IT王子 更新时间:2023-10-29 00:07:44 26 4
gpt4 key购买 nike

所以在 alex 回答之后,这是我的步骤:

创建shell代码

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

复制mylog.sh中的代码

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

许可

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

创建日志文件

root@ip[/]# touch mylog.log 

打开icron表

incrontab -e

放入新命令

/test/ IN_CREATE mylog.sh $@$#

重新加载 incron - 创建一个新文件 - 检查日志文件

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

但日志文件仍然是空的……我是不是遗漏了什么?


最终使用完整路径调用 shell 脚本成功了所以:

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

最佳答案

您通常可以在 /var/log/messages 中找到 incron 日志

如果您想将事件记录到您可以使用的特定文件中:

/test/ IN_CREATE mylog.sh $@$#

其中 mylog.sh 是处理日志记录的 shell 脚本。

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

不要忘记通过chmod +x mylog.sh 给这个shell脚本执行权限

解释:一旦开始为调用的命令使用参数,就必须将其全部放入 shell 脚本中。由于 incron 不会将参数传递给您的命令,而是将其解释为自身的参数。

不要忘记在更改 incrontab 后调用 incrontab --reload。

另一个例子

incrontab -e

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

我的日志.sh

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

关于linux - 无法让 incron inotify 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35019277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com