需求:经常碰到Linux服务器之间不同步,但是程序员有些人取得是WEB服务器的时间,有些人取数据库服务器的时间,倒置数据混乱。
解决方法:将服务器与某一台NTP时间服务器同步。
crontab -e
加入
00 0 1 * * root rdate -s time.nist.gov
保存退出
crontab -l
可以参考的资料
1.首先需了解linux内一任务计划工具crontab
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务
分 时 日 月 周 命令
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
上面的例子表示每晚的21:30重启smb 。
上面的例子表示每月1、10、22日的4 : 45重启smb 。
上面的例子表示每周六、周日的1 : 10重启smb 。
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启smb 。
上面的例子表示每星期六的11 : 00 pm重启smb 。
每一小时重启smb
晚上11点到早上7点之间,每隔一小时重启smb
每月的4号与每周一到周三的11点重启smb
一月一号的4点重启smb
time.windows.com
台警大授时中心(台湾)
asia.pool.ntp.org
中科院授时中心(西安)
210.72.145.44
网通授时中心(北京)
219.158.14.130
将系统时间设定成下午1点12分0秒的命令如下。
#date -s 13:12:00
这个命令强制把系统时间写入CMOS
如果服务器没有打开ntpd服务,有时候会导致linux的时间不正确,接着web程序里的时间混乱,造成的效果不堪设想,为了避免这种情况,需要增加一个.sh脚本防止linux时间不正确,此脚本需要服务器上安装了ntpd守护进程,否则无法使用。
1.检查服务器是否已经安装了ntpd进程
service ntpd status
输入此命令,如果出现未识别服务或者命令没有找到的话,就说明服务器并没有安装ntp,这时可以执行第二步,否则跳过第二步。
2.ntpd安装方法(centOS下,其它版本请根据实际情况安装):
yum install ntp
3.登录用户机器使用date命令查看
4.vi time.sh 后复制如下脚本到time.sh里边
#!/bin/sh
echo -e “0.asia.pool.ntp.org\n1.asia.pool.ntp.org\n2.asia.pool.ntp.org\n3.asia.pool.ntp.org\n210.72.145.44″>/etc/ntp/step-tickers
service ntpd stop
ntpdate 0.asia.pool.ntp.org && echo -e “server 0.asia.pool.ntp.org prefer\nserver 1.asia.pool.ntp.org\nserver 2.asia.pool.ntp.org\nserver 3.asia.pool.ntp.org\nserver 210.72.145.44″>>/etc/ntp.conf
service ntpd start
chkconfig –level 35 ntpd on
5. :wq保存后,使用sh time.sh运行
6.使用date查看时间是否已经同步到国家标准授时时间
以后就不再担心时间不正确了。bash脚本每次启动时都会运行ntpd进行校对。