《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



 

posted @ 2017-06-24 13:16  cnhkzyy  阅读(387)  评论(0编辑  收藏  举报