【发布时间】:2021-08-22 22:59:08
【问题描述】:
我的 EC2 中有一个 python 文件,它连接到 S3 并删除所有版本的对象。
我的S3delete.py
session = boto3.Session()
s3 = session.resource(service_name='s3')
bucket = s3.Bucket('mys3bucket-delete-me')
bucket.object_versions.delete()
在我的 job.sh 我把这个 python 文件称为
#!/bin/bash
python s3delete.py
使我的文件可执行chmod +x job.sh并执行./job.sh
这可以正常工作并删除我的 s3 存储桶的所有对象。
问题是当我在 crontab sudo crontab -e 中每分钟调用一次 job.sh 时,但文件没有被删除。
*/1 * * * * /home/ec2-user/job.sh
请指导我怎么了?
更新
我检查了显示 Sun Jun 6 04:48:36 UTC 2021 的服务器 date 并编辑了 cron 行以将日志导出到文件中。
50 4 * * * /home/ec2-user/job.sh > /tmp/s3delete.log
2-3分钟后检查日志文件,它是空的。
我还检查了 crontab 是否正在运行 [ec2-user@server ~]$ ps aux | grep crond
ec2-user 5295 0.0 0.0 112812 968 pts/0 S+ 04:55 0:00 grep --color=auto crond
【问题讨论】:
-
“不执行”是什么意思?你有错误吗?如果有,具体是什么? yoyu 是否设置了所有环境变量?在一个cronjob中,很多环境变量可能没有设置.....
-
尝试将日志文件保存为 cron 作业的一部分,然后查看其中包含的内容,例如:
python s3delete.py >/tmp/s3delete.log
标签: amazon-web-services amazon-s3 amazon-ec2 cron