【发布时间】:2011-10-13 08:46:53
【问题描述】:
我有一个 perl 脚本,我计划每分钟运行一次。 我已将 cron 作业设置为
* * * * * PATH= /usr/local/bin:/usr/bin:/usr/sbin:/usr/lib; perl /dm2/www/html/isos/pre5.3/autoDownload.pl
我假设脚本每分钟执行一次,只是因为当我在 /var/log/ 中执行 cat cron 时看到如下条目
Jul 26 04:57:01 dmvbu-build crond[773]: (root) CMD (PATH= /usr/local/bin:/usr/bin:/usr/sbin:/usr/lib; perl /dm2/www/html/isos/pre5.3/autoDownload.pl)
Jul 26 04:58:01 dmvbu-build crond[687]: (root) CMD (PATH= /usr/local/bin:/usr/bin:/usr/sbin:/usr/lib; perl /dm2/www/html/isos/pre5.3/autoDownload.pl)
但我的问题是我有类似的陈述
print LOG "connecting to website\n"
其中 LOG 是名为 log.txt 的文件的文件描述符,该文件位于 dm2/www/html/isos/pre5.3/(与autoDownload.pl相同的地方)
但是在我看到 cron 日志文件中的条目后,我没有看到这个 log.txt 文件更新了新信息 但是当我手动运行代码时,我看到这个文件正在更新
【问题讨论】:
-
您是否检查了 cron 发送的包含错误的邮件?或者,通过 logger 通过管道将 stdout 和 stderr 写入 syslog。
-
顺便说一句,您为什么要以 root 身份运行此脚本?它可能与普通用户权限一样好。
-
如何检查来自 cron 的邮件?
-
我希望它只在 root 下工作
-
@mac:关于阅读root的邮件,你最好在serverfault.com上问。最常见的方法是使用别名,例如在后缀中是
root: admin@my.company.com在/etc/aliases中。