希望有人可以在这里帮助我。
我写了一个 python 脚本,我想每 5 分钟在 CRON 下运行一次。根据最小特权的一般安全实践,我:
- 创建了一个用户“自定义”以用于自定义脚本
- 创建了一个“自定义”组(不希望在任何人下运行的任何东西都可以访问)并且;
- 将脚本(监视器)放在 /home/custom/bin
脚本中的 shebang 是:
#!/usr/bin/env python2.7
授予用户自定义的唯一权限是:
Inherited from Name Description Action
User - System: Shell account access Indicates whether the user is able to login for example via SSH.
无论当前工作目录如何,都可以从命令行使用命令/home/custom/bin/monitor运行脚本。
我尝试先执行 cd / 以确保它不是路径问题,并且脚本运行正确。
该脚本在第一次运行时写入 2 个文件,随后的运行附加到目录 /home/custom/bin/mondata 中的这些文件
我安装了 CRON 包并创建了以下条目:
*/5 * * * * 自定义 /home/custom/bin/monitor
(似乎没有“应用更改”,所以我假设我不需要重新启动或执行任何操作来加载更改。)(上面的条目和许多其他条目都显示在 WebGUI 中,并且我知道其他几个 cron 作业正在运行。)
在等待足够的时间让脚本运行后,我检查了输出,但什么也没有。
出于测试目的将 custom 更改为 root (以防万一问题是权限问题)并不能解决问题。
以下是相关的文件权限:
[2.3.2-RELEASE][custom@local]/home/custom/bin: ls -laR ~
total 52
drwxr-xr-x 4 custom nobody 512 Aug 7 00:14 .
drwxr-xr-x 4 root wheel 512 Jul 27 15:24 ..
drwxr-xr-x 3 custom custom 512 Aug 7 00:14 bin
/home/custom/bin:
total 20
drwxr-xr-x 3 custom custom 512 Aug 7 00:14 .
drwxr-xr-x 4 custom nobody 512 Aug 7 00:14 ..
drwxrwx--- 2 custom custom 512 Aug 7 00:07 mondata <-Script output goes here
-rwxr-xr-x 1 custom custom 4663 Aug 5 22:44 monitor <-The script
/home/custom/bin/mondata:
total 8
drwxrwx--- 2 custom custom 512 Aug 7 00:07 . <-NO OUTPUT! (I deleted the files manually after successful tests)
drwxr-xr-x 3 custom custom 512 Aug 7 00:14 ..
我在以下位置检查了错误消息:状态/系统/日志/系统/常规- 未找到任何内容。
我什至尝试暂时将 /home/custom/bin/mondata 上的权限更改为 777 并将 cron 用户设置为 root (完全不可接受的安全实践只是为了测试,但即使这样也没有用。)
我无法知道脚本是否正在运行并且文件写入由于某种原因被拒绝,或者脚本是否根本没有运行。
顺便说一句,cron 选项卡在哪里? 当我以 root 身份运行 crontab -l 时,我得到 crontab: no crontab for root,但我知道 cron 作业正在运行。(我正在运行每日邮件报告。)
任何建议 - 即使是故障排除以了解脚本是否正在运行也会有所帮助。
谢谢。