Linux修改时区和时间

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux修改时区和时间

修改时区:

1>

找到相应的时区文件/usr/share/zoneinfo/Asia/Shanghai

用这个文件替换当前的/etc/localtime文件。

或者找你认为是标准时间的服务器,然后

#scp root@xxx.xxx.xxx.xxx:/etc/localtime /etc/localtime

2>

修改/etc/sysconfig/clock文件,修改为:

ZONE="Asia/Shanghai"

UTC=false

ARC=false

修改日期时间

1>

用date修改日期时间

#date -s 08/24/2006

#date -s 13:02:00

2>

同步BIOS时钟,强制把系统时间写入CMOS

#clock -w

另外,查看Bois时间用#hwclock -r

#tzselect 可以交互式修改时区

Linux修改系统时区

1. 查看当前时区

# vi /etc/sysconfig/clock

2. 修改设置时区

方法(1) # tzselect 方法(2 仅限于RedHat Linux 和CentOS) # timeconfig

3. 复制相应的时区文件,替换系统默认时区

# cp /usr/share/zoneinfo/$主时区/$次时区/etc/localtime 对于中国服务器则执行:# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

4. 将当前时间写入BIOS永久生效(避免重启后失效)

# hwclock

在inux的shell下获取时间戳一般用两种方法,一是直接调用系统变量;二是用纯shell脚本获取,举例如下

一,直接调用系统变量

获取今天时期:date +%Y%m%d` 或date +%F

获取昨天时期:`date -d yesterday +%Y%m%d`

获取前天日期:`date -d -2day +%Y%m%d`

依次类推比如获取10天前的日期:`date -d -10day +%Y%m%d`

注意以上中间有空格

二,自己用shell实现,如下例子是已知今天日期,推算出昨天的日期的shell

startdate=`date`

d1=`date '+%Y%m%d'`

if test ! "$1" = ""

then

d1=$1

fi

echo "TODAY IS ${d1}"

yesterday()

{

YEAR=`expr substr "${d1}" 1 4`

MONTH=`expr substr "${d1}" 5 2`

DAY=`expr substr "${d1}" 7 2`

if [ $DAY -eq 1 ]

then

if [ $MONTH -eq 1 ]

then

YEAR=`expr $YEAR - 1`

MONTH=12

else

MONTH=`expr $MONTH - 1`

fi

DAY=`echo \`cal $MONTH $YEAR\`|tail -n1|awk '{print $NF}'`

else

DAY=`expr $DAY - 1`

fi

d2=`echo "$YEAR $MONTH $DAY"|awk '{if (length($2)==1) $2=0$2;if (length($3)==1) $3=0$3;printf "%s%s%s",$1,$2,$3}'`

}

yesterday

echo "yesterday IS ${d2}"

关于二中的shell脚本不完善,还有些bug比如计算平年和闰年的时候4月份的天数就弄错了,有兴趣的朋友可以继续

相关文档
最新文档