9 cron ubuntu-server crontab ubuntu-12.04
正在运行
dpkg-reconfigure tzdata
在终端中,我在我的机器上有 2 个不同的时间
Local time is now: Wed May 1 11:58:55 IST 2013.
Universal Time is now: Wed May 1 06:28:55 UTC 2013.
Run Code Online (Sandbox Code Playgroud)
问题是我想按照 IST 中的本地时间运行我的 cronjobs,但它们按照世界标准时间 UTC 运行。我需要在哪里进行必要的更改才能实现所需的行为?
小智 11
Cron 在本地时间运行,但您可以在某些系统上使用 TZ= 行使其在不同时区运行某些行。其他系统不支持这一点。如果您有TZ=UTC或TZ=GMT行,请将其注释掉。如果不这样做,请尝试TZ=IST
在第一次输入之前单独添加一行。man crontab如果您的系统支持,使用应该记录 TZ= 行。如果您指定时区,请注意夏令时问题。
如果 cron 确实在 UTC 中运行,那么有几种可能性,包括您的系统在 UTC 中运行,或者 cron 以某种方式开始时将 TZ 环境变量设置为 UTC。类型
date
Run Code Online (Sandbox Code Playgroud)
看看你的系统保持什么时间。执行此操作时,请确保未在您的 shell 中设置 TZ 变量(请检查printenv TZ,它不应返回任何内容)。
做
ps auxwwe | grep cron | grep TZ
Run Code Online (Sandbox Code Playgroud)
测试 cron 开始使用 TZ 集。如果不返回任何内容,则说明启动时未设置 TZ。如果已设置,则需要追溯启动过程以查看 TZ 设置的位置,从启动 cron 的脚本开始。
这里有更多关于 cron 和时区的信息:
https://askubuntu.com/questions/54364/how-do-you-set-the-timezone-for-crontab
--jh--
在我的 Amazon EC2 Linux 实例上,设置 TZ 变量只会更改由 cron 启动后使用的时区程序,但不会更改 cron 启动它们的时间——它们仍然根据 UTC 时间启动。
要让 cron 根据本地时间启动程序,我必须将其更改/etc/localtime为指向我所在时区的相应 tzfile 的符号链接,然后重新启动 cron 服务:
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
service crond restart
Run Code Online (Sandbox Code Playgroud)
更多信息在这里:https : //www.freedesktop.org/software/systemd/man/localtime.html
| 归档时间: |
|
| 查看次数: |
33775 次 |
| 最近记录: |