linux时间同步计划任务
linux中的系统时间与硬件时间是异步运行的,系统每次开机会读取cmos里的时间,然后加载到系统中单独运行,生产中的服务器一般是7*24运行,时间长了就可能会出现时间不一致的现象,如果多台服务器负载均衡,就会造成每台服务器中日志文件记录时间也不一致。前面几个整数取值范围及意义是:0~59 表示分1~23 表示小时1~31 表示日1~12 表示月份0~6 表示星期(其中0表示星期日)设定每分钟系统时间与time.windows.com时间同步;同步的事件记录到time.log中:/etc/crontab 添加一行:* * * * * root ntpdate time.windows.com >> /var/log/time.log把硬件时间同步为系统时间:hwclock --hctosys把系统时间同步为硬件时间:hwclock --systohc把系统时间写入cmos(同上)hwclock -w更改UTC为CST时区cp /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime注:/usr/share/zoneinfo/posix/Asia/Shanghai这个为上海时区文件(CST-8);/etc/localtime指定系统所使用的时区应用:linux时间同步脚本:vi /time.sh#!/bin/bashntpdate time.windows.com && hwclock --systohc保存退出vi /etc/crontab 添加: 0 1 * * 1 root /bin/sh /time.sh (每周1的1点时间同步。* 1 * * 1这样的意思是:每周一一点的每分钟执行后面的任务)保存退出注:如果本机没有ntpdate命令使用以下步骤解决:在有此命令的服务器上:1、查看ntpdate命令是否存在root@localhost.webs
ervice-2:[/root]which ntpdate/usr/sbin/ntpdate2、查看ntpdate由哪个rpm包安装root@localhost.webs
ervice-2:[/root]rpm -qf /usr/sbin/ntpdatentp-4.2.2p1-9.el5_4.13、在没有ntpdate的服务器上安装此rpm包(完成)==================================================================================附:hwclock介绍在Linux中有硬件时钟与系统时钟两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的 时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之後系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。 hwclock实现了BIOS和linux的时间同步语法格式:hwclock [--adjust][--debug][--hctosys][--show][--systohc][--test][--utc][--version][--set --date=<日期与时间>]参数说明:–adjust or -ahwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。–hctosys or -s将系统时钟调整为与目前的硬件时钟一致。–set –date=<日期与时间>设定硬件时钟。–show or -r显示硬件时钟的时间与日期。–systohc or -w将硬件时钟调整为与目前的系统时钟一致。–version or -v显示版本信息。–debug显示hwclock执行时详细的信息。–test仅测试程序,而不会实际更改硬件时钟。–utc若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。Hwclock使用同步系统时钟和硬件时钟# hwclock –w设置硬件时钟时间:# hwclock --set --date="9/8/2007 16:45:05"查看硬件时钟# hwclock -r