我们有两台运行相同应用程序和基础设施/中间件设置(测试和生产)的 Linux 服务器,我想在服务器 A 上每 2 分钟运行一次运行状况检查程序作为 cron 作业,就像它已经在服务器 B 上运行一样。
我复制的是服务器 B 中的脚本,在服务器 A 的同一目录中实现该脚本,并使用以下命令将作业添加到 Cron crontab -e
:
*/2 * * * * /opt/xxxx.sh arg1 arg2 >> test.txt 2>>err.txt
输出命令只是为了查看 cron 是否启动了作业。
我在 crontab 上添加的行在命令行上按预期单独运行,但它不作为 cron 作业执行。当我向 cron () 添加另一个作业时echo >> test.txt kind of thing
,它工作得很好。
- 我把脚本的权限改为755,
- 当我退出 crontab 编辑器时,它会确认新安装。
- 我已尝试多次重新启动服务器。
您认为我可以做更多哪些事情来使运行状况检查作为 cron 作业运行?
中没有输出/var/log/cron
。
—————————————————
亲爱的马丁·伍德,谢谢你。该程序是用 Java 编写的,但运行健康检查的是 shell 脚本。我通过运行以下命令没有得到任何输出: run-parts /etc/cron.hourly -v —————————————————
答案1
该脚本是否依赖于 Python 或 Ruby 等依赖项?这些也需要权限。您可以使用以下方法进行测试:
run-parts /etc/cron.hourly -v
并查看是否遇到任何错误。以 root 身份运行,因为这是 cron 运行时使用的 uid。