vps服务器上crontab加入backup.sh脚本不执行是服务器与本地时间有时差

丰Feng6年前未命名4753

最近给丰的博客做定时备份。

在美国vps服务器ubuntb系统上执行backup.sh脚本正常工作,加入crontab后不能定时执行。

经过一天的测试,发现是美国vps服务器与本地北京时间有8小时时差,比本地时间慢8小时。

而vps服务器与美国首都华盛顿时间不是同步的,实际上美国首都华盛顿时间与北京时间有13小时时差,比北京慢13小时。

测试的方法思路是,在crontab,加入24条同一分钟45分,但不同24个小时的任务。如果能执行,对半执行12条,先执行0-11小时,如果不可以,就执行另外12条(12-23小时)。如果可以,就跳过,再执行12条中对半的6条,如果能执行,再执行6条对半的3条,如能也能执行,再执行3条中的另外两条,直到测试出准确时间指令的最后一条,就是与本地时间对应时差的这条。计算出这条时间为14:45的指令与本地北京时间的时差。

比如,测试后能执行时本地北京时间为22:45,美国vps时间为14:45执行能成功的,就是相差了8小时的时差。

那设定crontab的指令就是以设定为 14:45执行,也就相当于是本地北京时间22:45执行该指定。

而比如要设定本地北京时间23:58分执行脚本,crontab中指令要设定时间为15:58,即本地北京时间23点减去与美国vps服务器时间时差8小时。(58 15 * * * root sudo /backup/backup.sh)

测试例子:

45 0 * * * root sudo /backup/backup.sh

45 1 * * * root sudo /backup/backup.sh

......

45 14 * * * root sudo /backup/backup.sh (这条是测试能成功执行的指令)

......

45 23 * * * root sudo /backup/backup.sh


minute hour day month week command指令格式为 前面6位数分别是,第一位数是分钟,01-60。第二位数是小时,0-23。第三位数是日期,1-31。第四位数是月份,1-12。第五位数是星期,0-7,0和7是星期天。最后是要执行的命令,可以是系统命令,或是编写的脚本文件如backup.sh。)

vps服务器上crontab加入backup.sh脚本不执行是服务器与本地时间有时差》——丰Feng

上一篇

印象-微信公众号上传M4A音频提示转码失败

猜你也喜欢六点听歌,你的歌单

 


相关文章

crontab定时脚本每30秒执行一次操作记录

crontab默认最小执行单位是每分钟昨天想到设置每30秒执行一次,操作如下* * * * * /backups/nihaoa.sh*/1 * * * * sleep 30 && /b...

博客增加字母域名tuodei

你好,博客增加字母域名tuodei...

博客首页的头像换成去年在深圳拍的一张相片

由原来的150px高X100px宽,改成了260px高X200px宽。...

丰的博客访问浏览量已超十万

丰的博客访问浏览量已超十万

丰的博客从2019年4月1日上线,到今天为止,浏览量超十万了。近六个半月,195天左右,每天浏览量约400~500次。感谢你的访问!《丰的博客访问浏览量已超十万》——丰Feng...

vps从洛杉矶转到东京约一个月

还有两天就约一个月了,暂时没有出现什么问题。ping值最低的时候在70ms左右。2年24个月,已经使用了1/24 。...

crontab默认nano编辑器修改为vim记录

crontab默认nano编辑器,操作比较复杂。修改为vim编辑器比较简便。执行命令行,select-editor返回Select an editor.  To change later,...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。