如何在crontab中为SPECIFIC任务设置不同的时区?

时间:2017-12-03 13:23:41

标签: linux bash shell cron

我需要为crontab添加一个新任务,该任务将在不同 TZ中执行,而不是本地机器时间。 我成功地做到了,你可以在下面的例子中看到,但问题是,从我改变TZ之后的所有工作都引用了新的TZ

    * * * * * rubHello.sh
    0 19 * * * runKuku.sh
    CRON_TZ="Europe/Rome"
    17 13 * * * /tmp/job1.sh
    0  18 * * * /tmp/Job2.sh

在上面的示例中,job1作为我的请求在Europe / Rome中运行,但也作为job2运行 在那个时间运行,这是不行的。

有没有办法告诉crontab只为特定任务更改TZ并返回默认的crontab TZ以用于下一个作业?

谢谢。

2 个答案:

答案 0 :(得分:0)

试试这个(假设你在伊斯坦布尔),应该在你的cron条目之前设置CRON_TZ变量:

* * * * * rubHello.sh
0 19 * * * runKuku.sh
CRON_TZ="Europe/Rome"
17 13 * * * /tmp/job1.sh
CRON_TZ="Europe/Istanbul"  
0  18 * * * /tmp/Job2.sh

OR

* * * * * rubHello.sh
0 19 * * * runKuku.sh
0  18 * * * /tmp/Job2.sh
CRON_TZ="Europe/Rome"
17 13 * * * /tmp/job1.sh

答案 1 :(得分:0)

这应该有用,我相信:

first: 0
first: 1
first: 2
unsubscribe
connect
isUnsubscribed: false

Process finished with exit code 0