所以在亚历克斯回答后我的步骤如下:
创建shell代码
root@ip[/]# touch mylog.sh
root@ip[/]# nano mylog.sh
复制www.example.com中的代码mylog.sh
# !/bin/bash
echo "File $1 created." >> /mylog.log
权限
root@ip[/]# chmod +x mylog.sh
创建日志文件
root@ip[/]# touch mylog.log
n.开口式扫描工作台
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 $@$#
2条答案
按热度按时间t9eec4r01#
您通常可以在**/var/log/messages**中找到incron日志
如果要将事件记录到特定文件,可以用途:
其中,mylog.sh是处理日志记录的shell脚本。
请不要忘记通过chmod +x www.example.com给予此shell脚本执行权限mylog.sh
说明:一旦你开始为你要调用的命令使用参数,你就必须把它全部放到一个shell脚本中,因为incron并不把参数传递给你的命令,而是把它解释为自己的参数。
不要忘记调用incrontab --在更改incrontab之后重新加载。
另一个例子
被包围的
mylog.sh
ulydmbyx2#
在 Alexandria 的Baltasar answer之后,您还可以有一个执行重定向的脚本,并使您的最终脚本不受该逻辑的影响。
低于
std_wrapper.sh
:$ chmod 770 std_wrapper.sh
):在您的
incrontab
($ incrontab -e
)中:actual_script.sh
可能如下所示:连续创建两个文件(在10秒内)
将创建如下日志: