审查 crontab 脚本以将时间戳添加到每分钟的运行中;有什么建议吗?

审查 crontab 脚本以将时间戳添加到每分钟的运行中;有什么建议吗?

我有一个 crontab 作业设置为每分钟运行一次,如下所示:

* * * * * /home/username/public_html/domain.tld/production/scripts/cron_runner.sh

我的目标是在 cron 的输出中添加一些时间戳,这样我就可以更轻松地找到与 Web 应用程序内部 cron 系统中某些故障点有关的信息。有时我会收到消息,有时却没有收到,我只想执行一次健全性检查,确保我在此处正确构建了此脚本:

#!/usr/bin/env bash
#
# Script Name: cron_runner.sh    
#

echo "Cron Execution @ `date`: " >>/home/username/public_html/domain.tld/production/var/log/crontab_output.log 2>&1

cd /home/username/public_html/domain.tld/production && /usr/local/bin/php /home/username/public_html/domain.tld/production/cron.php >>/home/username/public_html/domain.tld/production/var/log/crontab_output.log 2>&1

echo "==== END CRON EXEC ====" >>/home/username/public_html/domain.tld/production/var/log/crontab_output.log 2>&1

有什么建议么?

答案1

你可以通过管道将脚本发送ts更多工具,它会将时间戳添加到每一行前面,例如:

  (cd /home/username/public_html/domain.tld/production && /usr/local/bin/php /home/username/public_html/domain.tld/production/cron.php) | ts >>/home/username/public_html/domain.tld/production/var/log/crontab_output.log 2>&1

此外,每次crond执行一项作业时,它通常会将其记录下来/var/log/cron(取决于 *nix 风格),因此如果适用于您,我应该先检查一下。

相关内容