【问题标题】:AWS EC2 Ubuntu16.04 crontab not working at specified timeAWS EC2 Ubuntu16.04 crontab 在指定时间不起作用
【发布时间】:2019-09-11 00:36:56
【问题描述】:

如题,我浏览了很多不同的在线资源,但仍然无法让 crontab 在指定的时间工作,它只有在指定每分钟的作业时才有效。

p.s 我已通过dpkg-reconfigure tzdata 将时区更改为 Asia/Hong_Kong,另外

$TZ=Asia/Hong_Kong

我试过了

  1. crontab -e 的 crontab 中添加了 PATH=$PATH
  2. crontab -e 的 crontab 中添加了 SHELL=/bin/sh
  3. 使用完整路径
  4. Tri to do 1-3 in sudo nano /etc/crontab
  5. 通过 sudo service cron restart 重启 cron

我的工作:

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 作业?

【问题讨论】:

    标签: amazon-web-services shell amazon-ec2 cron cron-task


    【解决方案1】:

    来自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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-11
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 2019-01-07
      • 2016-08-24
      • 2017-05-14
      相关资源
      最近更新 更多