我如何才能看到 运行 个 Cronjobs?
How Can I physically see running Cronjobs?
我有在预定时间执行 PHP 文件的 cronjobs。这些纸条可能需要一个多小时才能完成。我希望能够物理监控脚本。我有日志,当然,还有很多处理错误的方法,但有时我只是想看看发生了什么。
之前我在 Windows 上执行此操作,我会安排一个任务,该任务将在 shell 中启动,该任务将在任务 运行.
中保持打开状态
我可以在 Linux 上做这个吗?使用SSH?也许像在 cron 中使用 screen
一样?我正在使用 Linux.
的 AWS 版本
谢谢。
最简单(虽然有点脏)的方法是在 crontab 中设置一个环境变量:
* * * * * THIS_IS_A_CRON=1 /path/to/script
然后,查看它们是否 运行 在您的机器上:
ps auxe | grep THIS_IS_A_CRON
这将列出所有使用 THIS_IS_A_CRON
环境变量
启动的进程(如果有的话)
如果您所追求的只是 window,您可以在 运行 时看到脚本的输出,这与拥有:
并没有什么不同
* * * * * /path/to/script 2>&1 >> /random/output/file.txt
并打开 tail
文件的终端:
tail -100f /random/output/file.txt
您可以将 cronjob 的输出通过管道传输到日志文件,并且可以使用 unix 工具(tail、watch 等)查看所有输出,例如以下将 STDERR 和 STDOUT 重定向到日志文件:-
/usr/bin/really_long_script.sh > /tmp/script.log 2>&1
tail -f /tmp/script.log
如果脚本正在生成您想监视的输出,让它记录下来并在日志上使用 tail -f。
为此使用屏幕太过分了。
我有在预定时间执行 PHP 文件的 cronjobs。这些纸条可能需要一个多小时才能完成。我希望能够物理监控脚本。我有日志,当然,还有很多处理错误的方法,但有时我只是想看看发生了什么。
之前我在 Windows 上执行此操作,我会安排一个任务,该任务将在 shell 中启动,该任务将在任务 运行.
中保持打开状态我可以在 Linux 上做这个吗?使用SSH?也许像在 cron 中使用 screen
一样?我正在使用 Linux.
谢谢。
最简单(虽然有点脏)的方法是在 crontab 中设置一个环境变量:
* * * * * THIS_IS_A_CRON=1 /path/to/script
然后,查看它们是否 运行 在您的机器上:
ps auxe | grep THIS_IS_A_CRON
这将列出所有使用 THIS_IS_A_CRON
环境变量
如果您所追求的只是 window,您可以在 运行 时看到脚本的输出,这与拥有:
并没有什么不同* * * * * /path/to/script 2>&1 >> /random/output/file.txt
并打开 tail
文件的终端:
tail -100f /random/output/file.txt
您可以将 cronjob 的输出通过管道传输到日志文件,并且可以使用 unix 工具(tail、watch 等)查看所有输出,例如以下将 STDERR 和 STDOUT 重定向到日志文件:-
/usr/bin/really_long_script.sh > /tmp/script.log 2>&1
tail -f /tmp/script.log
如果脚本正在生成您想监视的输出,让它记录下来并在日志上使用 tail -f。
为此使用屏幕太过分了。