转帖:http://blog.sina.com.cn/s/blog_541a3cf10101expx.html
AIX的默认dtae命令是不支持-d参数的,导致大家写脚本很痛苦,没法简单取得前一天的时间。
下面有简单方式可以取得:
YESTERDAY=`TZ=aaa24 date +%Y%m%d`
echo $YESTERDAY
或者是
#!/bin/sh
TZ=TZ+24
date1=`date +20%y%m%d`
echo "$date1"
bash-3.2# date
Wed Dec
bash-3.2#TZ=TZ+24
bash-3.2#date1=`date +20%y%m%d`
bash-3.2#echo "$date1"
20121204
$TZ在AIX中参数是代表时区的,那+24小时在输出date时自然会自动-24小时得到了前一天的时间。
附:
AIX 调整时区
1、关于如何判断AIX是否使用了夏时制
$ hostname; echo $TZ
aixserver2
CST6CDT
$
$ hostname; echo $TZ
aixserver1
CST6CDT
$
2、关于时间同步
3、关于如何检查两台AIX服务器时间是否一致
aixserver3#/> timedc clockdiff aixserver1
time on aixserver1.iipc.hk.ibm.com is 37628680 ms. behind time on aixserver3
aixserver3#/>
4、关于更改时区
5、关于xntpd
http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=1311001000144
http://www-900.ibm.com/cn/support/viewdoc/detail?DocId=2311993000001
6、关于AIX与WINDOWS服务器时间同步(若我们需要)
http://www.meinberg.de/english/sw/index.htm
1、用chtz BEIST-8调整时区;
2、若机器允许马上重启,则重启后用date命令粗略调整,或用timed精确调整;
3、若机器不允许马上重启,则暂时用date命令粗略调整,但下次机器重启后,勿忘还要用date命令或timed重新调整;
4、若使用timed,要注意同步结束后stopsrc -s timed ;
5、调整系统时间,可能会影响到DB2里的数据(也可能不影响,目前不确定),故调整时间前最好知会DBA;
6、以一台机器为基准,用timedc或snmp等方法定期监控所有AIX服务器的时间差;
7、对于是否使用xntpd,和是否需要与WINDOWS服务器同步,听大家的意见