查看当前linux“亚洲-上海”时区的路径:
# ls /usr/share/zoneinfo/Asia
Dhaka Dubai Hong_Kong Karachi Shanghai Tokyo
系统通过读取/etc/localtime来设置当前时区,由下面可知当前设置的是世界时间,不是北京时间(世界时间偏移+8小时)
# ls -al /etc/localtime
lrwxrwxrwx 1 root root 29 Jan 1 1970 localtime -> /usr/share/zoneinfo/Universal
通过执行软链接命令(ln -s),使/etc/localtime文件中写入的是想要设置的时区的路径,比如:
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# ls -al /etc/localtime
lrwxrwxrwx 1 root root 33 Jun 3 10:37 localtime -> /usr/share/zoneinfo/Asia/Shanghai
此时,时区已经设置亚洲上海了(北京时间),但这还不够
需要在cron的环境中加入时区
修改 Contab 时区vim /etc/crontab
添加变量
CRON_TZ=Asia/Shanghai
TZ=Asia/Shanghai
这样定时任务的时区才会转变过来