如何将 crontab 设置为每天晚上 11:59 执行 X 脚本,而无需向我发送电子邮件或创建任何日志?

现在我的 crontab 看起来像这样

@daily /path/to/script.sh
有帮助吗?

解决方案

当您执行 crontab -e 时,请尝试以下操作:

59 23 * * * /usr/sbin/myscript > /dev/null

这意味着:在每个工作日的每个月的 59 分 23 小时 (*) 处,执行 myscript。

人 crontab 获取更多信息和示例。

其他提示

跟进 斯维里斯特的回答, 根据您的外壳, 2>&1 应该去 > /dev/null 否则您仍然会看到 stderr 的输出。

以下命令将使 stdout 和 stderr 静音:

59 23 * * * /usr/sbin/myscript > /dev/null 2>&1

以下命令使 stdout 静音,但 stderr 仍然会出现(通过 stdout):

59 23 * * * /usr/sbin/myscript 2>&1 > /dev/null

《高级 Bash 脚本指南》中有关 IO 重定向的章节 是一个很好的参考 - 搜索 2>&1 查看几个示例。

通过上述回复,您将收到包含写入 stderr 的任何文本的电子邮件。有些人也将其重定向,并确保脚本改为写入日志。

... 2>&1 ....
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top