我有 3 个 Python 脚本,它们在同一个 crontab 中运行:
# Script 1
0 0,6,12,18 * * * cd path/to/script && /usr/bin/python3.8 -W ignore script1.py >> file1.out
# Script 2
0 0,6,12,18 * * * cd path/to/script && /usr/bin/python3.8 -W ignore script2.py >> file2.out
# Script 3
0 0,6,12,18 * * * cd path/to/script && /usr/bin/python3.8 -W ignore script3.py >> file3.out
这些脚本部署在 EC2(Ubuntu,t2.micro)上,我在其中检查了 CloudWatch,没有看到 CPU 使用率出现峰值。但我看到的是网络输入和网络数据包输入出现了大幅峰值 - 所有脚本都在从 API 获取数据,因此我猜想出现了峰值。
Cron 序列似乎并不重要,因为在另一个部署了 4 个脚本的实例上,2/4 个 Cron 作业无序失败(1 和 4 失败)。
我唯一的想法是,由于此类实例的网络限制,脚本未执行,事实确实如此,但并不能解释脚本根本没有执行。
我错过了什么?
更新
对于脚本 3,系统日志中出现错误“MTA 未安装 - 丢弃输出”
答案1
我错过了什么?
错误处理?
我会将错误重定向到文件
0 0,6,12,18 * * * cd path/to/script && /usr/bin/python3.8 -W ignore script1.py >> file1.out 2> script1.err