我在根目录中有一个名为的文件Exim_queue_size
。它包含一行:
exim -bpc | mail -s'Exim_queue_size' [email protected]
它已使用 chmod +x 设置其权限,因此可以执行。
如果我运行./Exim_queue_size
,它会完美运行并邮寄队列大小计数。
如果我加载并运行 crontab,则使用以下行
0 3,6,9,12,15,18,21,0 * * * /root/Exim_queue_size
我收到一封标题正确但没有附加计数的电子邮件。
请问有什么想法吗?
答案1
只是猜测,但默认情况下 exim 可能位于不在您的路径中的位置。如果未找到 exim,您的脚本将生成一条空白消息。
登录时,您会有各种文件(如 .bashrc)将目录添加到您的路径中。但这些配置文件并非全部在 cron 运行时获取。请在命令行上尝试此操作...
$ which exim
/usr/local/somepath/exim
然后在脚本中使用生成的完整路径......
/usr/local/somepath/exim -bpc | mail -s'Exim_queue_size' [email protected]
答案2
我编辑了可执行文件 Exim_queue_size 来读取
/usr/bin/exim -bpc | 邮件 -s'Exim_queue_size'[电子邮件保护]
按照 Bill Heller 的建议,在凌晨 3 点的 cron 运行中,收到了正确的邮件。问题解决了。谢谢。