<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[观夏Note]]></title> 
<link>//gm.angeldm.com/index.php</link> 
<description><![CDATA[新技术番]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[观夏Note]]></copyright>
<item>
<link>//gm.angeldm.com/post//</link>
<title><![CDATA[Linux修改时区和时间]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[系统&amp;软件]]></category>
<pubDate>Sun, 06 Jul 2008 05:48:27 +0000</pubDate> 
<guid>//gm.angeldm.com/post//</guid> 
<description>
<![CDATA[ 
	Linux修改时区和时间<br/>修改时区:<br/>1><br/>找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai<br/>用这个文件替换当前的/etc/localtime文件。<br/>或者找你认为是标准时间的服务器，然后<br/>#scp root@xxx.xxx.xxx.xxx:/etc/localtime /etc/localtime<br/>2><br/>修改/etc/sysconfig/clock文件，修改为：<br/>ZONE="Asia/Shanghai"<br/>UTC=false<br/>ARC=false<br/><br/>修改日期时间<br/>1><br/>用date修改日期时间<br/>#date -s 08/24/2006<br/>#date -s 13:02:00<br/>2><br/>同步BIOS时钟，强制把系统时间写入CMOS<br/>#clock -w<br/><br/>另外，查看Bois时间用 #hwclock -r<br/>#tzselect 可以交互式修改时区<br/><br/><br/>Linux修改系统时区<br/>1. 查看当前时区<br/><br/># vi /etc/sysconfig/clock<br/>2. 修改设置时区<br/><br/>方法(1) # tzselect 方法(2 仅限于RedHat Linux 和 CentOS) # timeconfig<br/>3. 复制相应的时区文件，替换系统默认时区<br/><br/># cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime 对于中国服务器则执行： # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime<br/>4. 将当前时间写入BIOS永久生效（避免重启后失效）<br/><br/># hwclock<br/><br/>在inux的shell下获取时间戳一般用两种方法，一是直接调用系统变量；二是用纯shell脚本获取，举例如下<br/><br/>一，直接调用系统变量<br/><br/>获取今天时期：date +%Y%m%d` 或date +%F<br/><br/>获取昨天时期：`date -d yesterday +%Y%m%d`<br/><br/>获取前天日期：`date -d -2day +%Y%m%d`<br/><br/>依次类推比如获取10天前的日期：`date -d -10day +%Y%m%d`<br/><br/>注意以上中间有空格<br/><br/>二，自己用shell实现，如下例子是已知今天日期，推算出昨天的日期的shell<br/><br/>startdate=`date`<br/>d1=`date '+%Y%m%d'`<br/>if test ! "$1" = ""<br/>then<br/>d1=$1<br/>fi<br/>echo "TODAY IS $&#123;d1&#125;"<br/>yesterday()<br/>&#123;<br/>YEAR=`expr substr "$&#123;d1&#125;" 1 4`<br/>MONTH=`expr substr "$&#123;d1&#125;" 5 2`<br/>DAY=`expr substr "$&#123;d1&#125;" 7 2`<br/>if [ $DAY -eq 1 ]<br/>then<br/>if [ $MONTH -eq 1 ]<br/>then<br/>YEAR=`expr $YEAR - 1`<br/>MONTH=12<br/>else<br/>MONTH=`expr $MONTH - 1`<br/>fi<br/>DAY=`echo &#92;`cal $MONTH $YEAR&#92;`&#124;tail -n1&#124;awk '&#123;print $NF&#125;'`<br/>else<br/>DAY=`expr $DAY - 1`<br/>fi<br/>d2=`echo "$YEAR $MONTH $DAY"&#124;awk '&#123;if (length($2)==1) $2=0$2;if (length($3)==1) $3=0$3;printf "%s%s%s",$1,$2,$3&#125;'`<br/>&#125;<br/>yesterday<br/>echo "yesterday IS $&#123;d2&#125;"<br/><br/>关于二中的shell脚本不完善，还有些bug比如计算平年和闰年的时候4月份的天数就弄错了，有兴趣的朋友可以继续
]]>
</description>
</item><item>
<link>//gm.angeldm.com/read.php?&amp;guid=0#topreply</link>
<title><![CDATA[[评论] Linux修改时区和时间]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>//gm.angeldm.com/read.php?&amp;guid=0#topreply</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>