1. date
1) 显示时间
date +%s
date --date="2 days ago" +%Y%m%d
date -d "2013-11-19 16:24:20" +%s
date -d "@1384849460"
date -d "@1384849460" +"%Y-%m-%d %H:%M:%S"
date -d "@1384849460" +"%F %H:%M:%S"
date -d "1970-01-01 utc 1384849460 seconds"
echo "1384849460" | awk '{print strftime("%F %T",$0)}'
perl -e 'print localtime(1384849460)."\n"'
2) 修改系统时间
date -s 12/30/2008
date -s 15:36:00
date -s "2012-12-09 14:53:00"
hwclock --systohc
2. timezone 时区设置
1). timzone文件
ls -F /usr/share/zoneinfo/
2). timzone文件时区详情
zdump Hongkong
3). 设置时区的两种方法。
a. 直接使用timezone文件
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
b. 设置环境变量TZ,其优先级高于timezone文件
tzselect
vi /etc/profile
3. 硬件时钟
1) 硬件时钟和系统时钟
Real Time Clock (RTC): 硬件时钟,主板上BIOS中的时间,由主板电池供电来维持运行,系统开机时读取这个时间,并用它来设定系统时间
System Time Clock: 系统时钟,kernel
2) /etc/sysconfig/clock
a. 只对hwclock有效,只在系统启动和关闭时有用
b. UTC=false,date、hwclock、hwclcok –localtime 输出时间一致,此时hwclock –utc无效
c. UTC=ture,date、hwclock 输出一致,hwclock –localtime 输出是UTC时间
3) 时钟同步
hwclock --show
# BIOS to kernel
hwclock --hctosys
# kernel to BIOS
hwclock --systohc
4. 夏令时:
vi /etc/profile
export TZ=BEIST-8BEIDT-9,M6.2.4/14:20,M6.2.4/17:00 # M6.2.4: 6月的第2个星期四
NTP-Server
1. vi /etc/ntp.conf
#broadcastclient
server 127.127.1.0
2. restart
rcntp restart
3. check # watch ntpq -p
ntpq -p
4. automatic start
chkconfig -a ntp
NTP-Client:
1. time synchronization
crontab -e
0,30 * * * * /usr/sbin/ntpdate -u ntp.server.com