正如标题所述,我已经阅读了很多不同的在线资源,但仍然无法在指定的时间使crontab工作,它只在每分钟指定作业时才有效。
p.s我已经通过dpkg-reconfigure tzdata
将时区更改为Asia / Hong_Kong
$TZ=Asia/Hong_Kong
我试过了
PATH=$PATH
的crontab中添加了crontab -e
SHELL=/bin/sh
的crontab中添加了crontab -e
我的工作:
54 22 * * * /bin/sh /home/ubuntu/F/start.sh
也尝试过,
* * * * * date > /home/ubuntu/log_cron.txt
在log_cron.txt
显示:Sun Apr 21 23:02:01 HKT 2019
有关如何使用指定的时区和指定时间在AWS EC2中获取cron作业的任何想法?
来自man -S8 cron
:
环境
如果在Debian系统中的/ etc / default / cron中配置,则可以通过使用/ etc / environment或使用/ etc / default / locale来管理cron守护程序本地化设置环境,其中后者的值覆盖来自前任的。读取这些文件,它们将用于设置LANG,LC_ALL和LC_CTYPE环境变量。然后使用这些变量来设置邮件的字符集,默认为“C”。
这不会影响在cron下运行的任务的环境。有关如何修改任务环境的更多信息,请参阅crontab(5)
守护进程将使用/ etc / timezone中的定义(如果存在)作为时区。
可以在用户的crontab定义中重新定义环境,但cron只能在单个时区中处理任务。
我认为必须在实例化cron守护进程之前设置时区。
如果您在AWS上询问CloudWatch服务而不是您的虚拟机上的服务...在这种情况下,所有内容都按UTC时间安排:
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduled_tasks.html https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html