《Advanced Bash-scripting Guide》学习(四):一个显示时间日期登录用户的脚本
本文所选的例子来自于《Advanced Bash-scripting Gudie》一书,译者杨春敏 黄毅
编写一个脚本,显示时间和日期,列出所有的登录用户,显示系统的更新时间。然后这个脚本会把这些内容保存在一个log file中
#!/bin/bash USERS=$( who | awk '{print $1 "\t" $2}' ) TIME=$( cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && ntpdate cn.pool.ntp.org ) DATE=$ ( date ) printf "$USERS \n" > log.file echo $TIME >> log.file echo $DATE >> log.file exit 0
总结了一下,这里有几个要点:
1.如何查看时区
#date -R
Tue, 20 Jun 2017 09:56:23 +0800 #+0800表明我们的国家是东八区
2.如何修改时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#时区的信息存放在/usr/share/zoneinfo下面,本机的时区信息存放在/etc/localtime下,还可以利用tzselect命令来设置时区
3.使用ntp同步时间
#ntpdate cn.pool.ntp.org
#其中cn.pool.ntp.org是我们国内的时间服务器,以下是国内常用的时间服务器列表:
中国地区:cn.pool.ntp.org
中国香港:hk.pool.ntp.org
中国台湾:tw.pool.ntp.org
脚本运行结果:我这里用的是美国的时间服务器,当然可以换成cn.pool.ntp.org