Crontab 不会自动 运行

Crontab won't run automatically

我已经设置了一个 cron 作业,如下所示,但它不会 运行。当我手动 运行 脚本时,我没有看到任何错误。

#_____WPR Jobs
00 9 * * * mon-sat /var/spool/ftpexts/bin/exe_get_x_wpr.sh >> /var/spool/ftpexts/outboundlogs/exe_get_x_wpr.log
00 9 * * * mon-sat /var/spool/ftpexts/bin/exe_get_y_wpr.sh >> /var/spool/ftpexts/outboundlogs/exe_get_y_wpr.log
00 9 * * * mon-sat /var/spool/ftpexts/bin/exe_get_z_wpr.sh >> /var/spool/ftpexts/outboundlogs/exe_get_z_wpr.log

当我如下所示手动执行脚本时,它运行也很顺利地记录了日志。

/var/spool/ftpexts/bin/exe_get_x_wpr.sh >> /var/spool/ftpexts/outboundlogs/exe_get_x_wpr.log

crontab 正在尝试将 mon-sat 作为命令执行。

星期几被指定为 crontab 条目的第 5 个字段。您有 *,这意味着它在一周中的任何一天都是 运行。删除第 5 个字段,使 mon-sat 成为第 5 个字段。 (有意思,我到现在才知道crontab会认名字。)

更新:crontab(5) man page(键入 man 5 crontab 在您的系统上阅读)说:

Names can also be used for the "month" and "day of week" fields. Use the first three letters of the particular day or month (case doesn't matter). Ranges or lists of names are not allowed.

你说 mon-sat 对你有用。一个快速实验表明名称范围确实有效,但由于文档说不允许,我建议不要依赖于此。如果您希望工作从周一到周六 运行,请写 1-6 而不是 mon-sat