修改Linux 系统时间的方法有很多,下面看第一种方法,利用其他网站的http header来修改。
在网站HTTP Header中会包含很多网站的信息,其中就有时间,所以可以利用Python 获取某个网站的Header信息,然后抽取时间,在修改到本地的时间。 一般来说,找个权威的网站,比如baidu.com 来参考即可。
创建Python 脚本updatetime.py如下:
http://www.cndba.cn/dave/article/157
http://www.cndba.cn/dave/article/157
[root@cndba.cn ~]# cat updatetime.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Created on 2016-2-17
@author: dave, cndba.cn
"""
import httplib
import time
import os
def get_webservertime(host):
conn=httplib.HTTPConnection(host)
conn.request("GET", "/")
r=conn.getresponse()
ts= r.getheader('date')
ltime= time.strptime(ts[5:25], "%d %b %Y %H:%M:%S")
ttime=time.localtime(time.mktime(ltime)+8*60*60)
tm="date -s /"%u-u-u u:u:u/""%(ttime.tm_year,ttime.tm_mon,ttime.tm_mday,ttime.tm_hour,ttime.tm_min,ttime.tm_sec)
hw="/sbin/clock -w"
print (tm)
os.system(tm)
os.system(hw)
print("update successfully!")
get_webservertime('www.baidu.com')[root@cndba.cn ~]#
对脚本赋权:http://www.cndba.cn/dave/article/157http://www.cndba.cn/dave/article/157
[root@cndba.cn ~]# chmod a+x updatetime.py
然后添加到crontab 就可以了,每天同步一次:http://www.cndba.cn/dave/article/157
[root@cndba.cn ~]# crontab -l
0 1 * * * /root/updatetime.py >updatetime.log 2>&1 &[root@cndba.cn ~]#
注意: 因为我的系统里Python版本是2.6, 所以用的是httplib 模块,在python 3中,该模块重命名到了http.client。
官网说明:
The httplib module has been renamed to http.client in Python 3. The 2to3 tool will automatically adapt imports when converting your sources to Python 3.
http://www.cndba.cn/dave/article/157
http://www.cndba.cn/dave/article/157
http://www.cndba.cn/dave/article/157
http://www.cndba.cn/dave/article/157
http://www.cndba.cn/dave/article/157
版权声明:本文为博主原创文章,未经博主允许不得转载。
python