如何在不同时区设置多个 crontab 任务?
How to setup multiple crontab task in different time zone?
在我位于不同国家/地区的 Debian 9 远程服务器上(我没有 root/sudo 访问权限)我正在尝试在我的本地时区设置以下 3 个不同的 crontab 任务。
*/10 * * * * /usr/bin/env TZ=Asia/Karachi /home/smo/pg/pg --silent -co pg_D.cfg
00 01 * * * /usr/bin/env TZ=Asia/Karachi /home/smo/pg/pg --silent -co pg_M.cfg
59 23 * * * /usr/bin/env TZ=Asia/Karachi /home/smo/pg/pg --silent -co pg_Y.cfg
("pg_D/pg_M/pg_Y.cfg" 个文件生成 html 个带有时间戳的文件)
第一个任务工作正常,html 输出包含本地时间戳,但任务 2 和 3 根本不是 运行。
我还尝试通过在每个 crontab 任务之上添加 CRON_TZ=Asia/Karachi 来使用 CRON_TZ,但没有成功。
我想知道为什么任务 #1 运行但其他两个失败?
我在这里错过了什么吗?
我已经解决了问题
实际上,根据远程服务器时间而不是我的本地时间,这两个作业都是 运行。
问题出在时间设置上。
使用上述方法在不同时区设置 cronjob 时,我们必须设置远程服务器时间而不是本地时间。
我的远程服务器是 UTC -5,所以我更改了时间...
来自
59 23 * * * /usr/bin/env TZ=Asia/Karachi /home/smo/pg/pg --silent -co pg_D.cfg
到
59 18 * * * /usr/bin/env TZ=Asia/Karachi /home/smo/pg/pg --silent -co pg_D.cfg
现在一切正常。
在我位于不同国家/地区的 Debian 9 远程服务器上(我没有 root/sudo 访问权限)我正在尝试在我的本地时区设置以下 3 个不同的 crontab 任务。
*/10 * * * * /usr/bin/env TZ=Asia/Karachi /home/smo/pg/pg --silent -co pg_D.cfg
00 01 * * * /usr/bin/env TZ=Asia/Karachi /home/smo/pg/pg --silent -co pg_M.cfg
59 23 * * * /usr/bin/env TZ=Asia/Karachi /home/smo/pg/pg --silent -co pg_Y.cfg
("pg_D/pg_M/pg_Y.cfg" 个文件生成 html 个带有时间戳的文件)
第一个任务工作正常,html 输出包含本地时间戳,但任务 2 和 3 根本不是 运行。 我还尝试通过在每个 crontab 任务之上添加 CRON_TZ=Asia/Karachi 来使用 CRON_TZ,但没有成功。
我想知道为什么任务 #1 运行但其他两个失败? 我在这里错过了什么吗?
我已经解决了问题 实际上,根据远程服务器时间而不是我的本地时间,这两个作业都是 运行。
问题出在时间设置上。 使用上述方法在不同时区设置 cronjob 时,我们必须设置远程服务器时间而不是本地时间。
我的远程服务器是 UTC -5,所以我更改了时间... 来自
59 23 * * * /usr/bin/env TZ=Asia/Karachi /home/smo/pg/pg --silent -co pg_D.cfg
到
59 18 * * * /usr/bin/env TZ=Asia/Karachi /home/smo/pg/pg --silent -co pg_D.cfg
现在一切正常。