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

丰Feng7年前未命名4845

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

在美国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音频提示转码失败

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

 


相关文章

目前测试使用过的国内网盘产品情况

目前,手的相册和视频备份一份在阿里网盘、天翼云盘,小文件和少于5G数据保存在iCould上。备份一份副本在macbook电脑本地。备份一份副本到带硬盘盒的NVMe硬盘存放。以下是目前测试使用过的国内网...

从备份vps写的测试文章

从备份vps写的测试文章...

设置vps本地时间同步为上海时间记录

进入vps,敲date命令查看vps实时时间为Sat Feb 26 21:00:40 GMT 2022 (2022年2月26日周六 21:00)敲命令行,cp /usr/share/zoneinfo/...

博客至20210408的备份恢复思路小结

备份部份.sh每隔一小时或设置的时间1.备份数据库/usr/bin/mysqldump,加最高级压缩gzip -9。2.执行备份文件后,打一个log时间记录文件。echo 111 >> /...

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

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

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

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

发表评论    

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