运行 助手 -- 每周检查一次 crontab 作业

Running aide --check as a crontab job once a week

我在将一个简单的 (aide --check) 作业作为 crontab 作业转为 运行 时遇到了真正的问题。我已经尝试了所有我能想到的方法,但它似乎不会 运行。我尝试在 crontab 中指定 shell:

SHELL=/bin/bash

我尝试了命令行的各种变体:

*/1 * * * * root /bin/bash /usr/sbin/aide --check
*/1 * * * * /bin/bash /usr/sbin/aide --check
*/1 * * * * root /usr/sbin/aide --check
*/1 * * * * root /bin/bash /usr/sbin/aide --check >> /var/log/SystemFileCheck.log

加上其他人,但无法达到 运行。我遵循了在线指南,它们都说我做得对。我试过将它放入 bash 脚本中,然后 运行ning 那个,但没有成功。我做错了什么?

这些是我遇到的一些错误:

3 月 30 日 11:25:01 localhost CROND[14060]: (root) CMD (root /bin/bash /usr/sbin/aide --check >> /var/log/SystemFileCheck.log) 3 月 30 日 11:25:01 localhost CROND[14058]:(root)CMDOUT(/bin/sh:root:找不到命令)

3 月 30 日 11:28:01 localhost CROND[14397]:(root)CMD(root /bin/SystemIntegCheck.sh >> /var/log/SystemFileCheck.log) 3 月 30 日 11:28:01 本地主机 CROND[14395]:(root)CMDOUT(/bin/bash:root:找不到命令)

3 月 30 日 11:39:01 localhost CROND[16094]:(root)CMD(/bin/bash /usr/sbin/aide --check) 3 月 30 日 11:39:01 localhost CROND[16092]: (root) CMDOUT (/usr/sbin/aide: /usr/sbin/aide: 无法执行二进制文件)

任何人都可以阐明这一点吗?

提前致谢

PS。一分钟一次只是为了测试

用户id只能在系统crontab文件中指定。用户的 crontab 文件的条目不采用用户 ID。有问题的条目显然是在用户的 crontab 文件中找到的,这就是为什么你从第一、第三和第四个条目中得到 root: command not found

从第二个开始,您得到 cannot execute binary file,因为您要求 bash/usr/sbin/aide 作为 bash 脚本执行,而它不是 bash 脚本。你应该使用

*/1 * * * * /usr/sbin/aide --check