检查日志的小脚本
#!/bin/ksh0S.R5Q4E2_2v"e5r9g
echo "Please input begdate[for example:20080201]:\c"
;?1@3|"t,Nread begdateTechWeb-技术社区!C"B"P"f0u"Z-@
echo "Please input enddate[for example:20080210]:\c"
A4B7Z%v,O8C/A!Bread enddate程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛1Z:p(^*L0U2D8z4E/S0v7P
###################################3G7G1`;N5f,L
#
+J&C-]%g0a6`/_0E9B6P,}#功能:取一年的某一月有多少天6h5E7K.B&Q:B-Q)^
#输入参数:tech.techweb.com.cn&t2{ Z)t*e.l/F/G
# 1. yy年份4_ I8v7q!\!g6v
# 2. mm月份
9n"`$[.T'V,}!P,D0g,E#输出:
7?1\4D6}"r# 一个月的天数tech.techweb.com.cn;z7T+O.~'J)h"d5P$i;T
# -1 不成功
/m7C$W(i:z7r(x,a7f/[8Otech.techweb.com.cn###################################程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛)v1g*g'j3H,{$@2w3D p8I
get_days()
$} M%Z2e(H3o1L5M/K{9~2x*U%~%O3j)B7^
yy_tmp=$1;Y+]0j9v"s1s%v
mm_tmp=`expr $2 + 0`3r3a-[4I#x
if [ $? -ge 2 ]; then
!y-M7G'{(z*X4b1D4e return -1
9V8c/\)D7M*j5l fi程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛!X S4R*F)O4{:n"e
case $mm_tmp in
+G;t7w2{3a+K.s(N;}tech.techweb.com.cn 1|3|5|7|8|10|12) ret_days=31TechWeb-技术社区!P&M(x5s.Z"A#s#L
;;
$c0}/i.s!o)m1t)k 4|6|9|11) ret_days=30$s6@+c0}1L3D,q$E)B$~2d
;;TechWeb-技术社区0X:_.a ^&y
2) ret_days=28
#{9s&u3o)p6I,w ;;5{ A&A;K#N&|!y6Z
esac
;B;O"F/A2q8B&l7Z$PTechWeb-技术社区 if [ $mm_tmp -eq 2 ]; then
"f#Z:n!v3R1I:O.~0Etech.techweb.com.cn yy_tmp1=`expr $yy_tmp / 4 \* 4`
0I)N;A3a3n/d,m程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 if [ $? -ge 2 ]; then
2g-a8l%g0\2H%d.b.`5Jtech.techweb.com.cn return -1
1H3R P#?)u5?(yTechWeb-技术社区 fi
b1d0g6k-M8`#F)f:}1u9y yy_tmp2=`expr $yy_tmp / 100 \* 100`程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛#S;C4v0Y;S9q6c6i
if [ $? -ge 2 ]; then
![;l9k3S+H(U"X.b*a9p return -1
&h5D8i8M"m)@-R4A0nTechWeb-技术社区 fi
5i!Y-H/P$E"t+X.D yy_tmp3=`expr $yy_tmp / 400 \* 400`
2Z)|3v+_;`&|%[!r if [ $? -ge 2 ]; thenTechWeb-技术社区2Y'{-[!@;c#W)T!c8G
return -1)~"j;B'T1K
fi,m'` {3A*Y n/q
if [ $yy_tmp1 -eq $yy_tmp ]; then
N&D)P4R3H4R2ctech.techweb.com.cn if [ $yy_tmp2 -eq $yy_tmp ]; then
#H(_5S%t"]&c8J if [ $yy_tmp3 -eq $yy_tmp ]; then
#V0^+R!k$n"{5g"t-Z(}!k程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 ret_days=29
2t:e2J)^!t'B-m6CTechWeb-技术社区 fiTechWeb-技术社区$b+C's2m!`6J
else-C4I,]$Z+|
ret_days=29
$H%r)h;T6i2l3y0g fi
5n-{/e6i;x'g#a;b6o fi
(y#k9M,_5I8G1k程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 fi
"V;}2L+a)Y程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 return $ret_days1o6^%H+x:T2v#N
}
"A#Q#Y4d1X&G(v'G:R+gtech.techweb.com.cn%T8J9~/S(i&? [5@
###############################################
$F$v+z(s2U5H(b3P.z#
;?(e,l;B!f-]#功能:计算一个日期加或减一个天数后得到的新日期
4v$r6s&W'L1D,T.b程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛#输入参数:tech.techweb.com.cn0A,D*F+E;I9{
# 1.日期
"L(n!w,d9s.j9D# 2.要变化的天数
6V+y.z%b/N&K*D%\0{9ltech.techweb.com.cn#输出: p2R&n:y9W
# 变化后的日期
,w2J2Z,|/d-K6f1r"g# -1 失败tech.techweb.com.cn ^.|1E2A*I9X3B3s,y
# 0 :表示增量为零
$j+s-A,C3A$H x*x################################################9o!U.t+U9f(X%x:f;i
day_calculate()
1w,l)V*@%}3c4w r{
1A2G#z8C3N-e6a%FTechWeb-技术社区 date1=$1&I%B-G0k7B+T6J
datemodi=$2
7j9j"k3V#B.b8A9{$D'Y l)Y程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 #若日期增量为0,则返回输入日期
6u&g'f$H9}9Y8I7W,L'c4M)K if [ $datemodi -eq 0 ]; then
$R-j#h7E+I:m0Q:^4Mtech.techweb.com.cn ret_date=$date1
7s%r"\!T)C9~TechWeb-技术社区 return 03h$J:M%_4S T
fitech.techweb.com.cn9` K5p!u#M.t6{
yy=`echo $date1 | cut -b 1-4`
-r/R![$z2d4x1Ktech.techweb.com.cn if [ $? -ne 0 ]; then
)t!Z7T*Y&\ return -1
8E7d.w-M1A/T+w;YTechWeb-技术社区 fitech.techweb.com.cn0H-V-w6z2P
mm=`echo $date1 | cut -b 5-6`5I5e&I&Y3w
if [ $? -ne 0 ]; then
$E.Y-x#n)S/q程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 return -1
7`%\5W g-o*?程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 fi
0l3J3~(v&ftech.techweb.com.cn dd=`echo $date1 | cut -b 7-8`+v3d#Y'}4a:d*H3L ["b1P3p"Q
if [ $? -ne 0 ]; then0]5U&C(D']3N9P&z+b
return -1tech.techweb.com.cn2D6Q:v0U6^+o;r
fi
1r9p9S1i.V:}"w,h ytech.techweb.com.cn%U)Z t"H'q:_8`
dd1=`expr $dd + $datemodi`程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛!Y+m!i3W*[*\"W6H
if [ $? -ge 2 ] ; then
e$](V%{#F:F*j4S&K8? return -1
+]7o/b3B'f6x#U"K"CTechWeb-技术社区 fi程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛$w&C1q/p)W#A3y!O:[,x
#小于零和大于零的处理
2k/Y"p8z0M&l if [ $datemodi -lt 0 ] ; then
R:U6I%c*D"W*T6@/~*kTechWeb-技术社区 while [ 0 -eq 0 ],k3o:D1v3a'`1t$|$t A
do
:W;@;_8g2H.t7o'd,k if [ $dd1 -ge 1 ] ; then
&e4E*K8S$B breaktech.techweb.com.cn }&C!P$s/p,O'W%Z,G-B
fi
*n.\2J%D:X'r1W0]*[+o mm=`expr $mm - 1`tech.techweb.com.cn0g8{4J$T"V
if [ $? -ge 2 ] ; then
:m5`:G7@6h3p2{程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 return -1
6Y8M/h.\-F fiTechWeb-技术社区/Y9j5R"F7Q7k;Q!~-c&^
if [ $mm -le 0 ] ; then {7V:T2|*f/s*@#m-|
mm=`expr $mm + 12`
1s9v9x4s6w if [ $? -ge 2 ]; thentech.techweb.com.cn }*]-s.Q }%`#q9N$T
return -1
9P:a-d!u,F%g-w&@程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 fi程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛(K/p3\(j*Y-F
yy=`expr $yy - 1`tech.techweb.com.cn.r"G+~'v.B j;n
if [ $? -ge 2 ] ; then
#p1N3z.c2i4p3P:Gtech.techweb.com.cn return -1.g"h*c.C9{4u
fi.x1@2G#K9I(h,D+z
fi
7P#O:s$q9_ get_days $yy $mm
(t*P+M&H2u+X8f/\#?程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 daysofthismon=$?TechWeb-技术社区4M*n1g5^,@6`
if [ $daysofthismon -lt 0 ] ; then
;b-l.{9V5D%Y程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 return -1
"D%}3L,o'@8S7R,w)U程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 fi
+[(E5h$s+b0M dd1=`expr $dd1 + $daysofthismon`-N"j%@7O-H6];x d8F+J
if [ $? -ge 2 ] ; thentech.techweb.com.cn(L'A-s4p.H"u6w
return -1%z1S+m*[2H*v0`*r
fi
/~9d0C c"R5o*N,~tech.techweb.com.cn done%b!I'D0F1_9q6H3h
else
7E2e$A H'^0l while [ 0 -eq 0 ]:v5q,p:Y'X7u
doTechWeb-技术社区&Q5V;z6p4\6C"v6s g#?
get_days $yy $mm
([)l ? S#T2E7i!Atech.techweb.com.cn daysofthismon=$?
"h t)x;[2aTechWeb-技术社区 if [ $daysofthismon -lt 0 ] ; then&g(f#?-c;e:v
return -1
:Q0P9d%y1T;`7q fi
3z:b*y!x7YTechWeb-技术社区 if [ $dd1 -le $daysofthismon ] ; thenTechWeb-技术社区&T7|%|+},b#c,S5S
break
&m*^#[-_%r5` fi
)C8\6V4z2Q7C7K9u,d(o9rtech.techweb.com.cn dd1=`expr $dd1 - $daysofthismon`:O;R-x#C1D2|#x7v:H
if [ $? -ge 2 ] ; then
&K2q)R/]9o6G程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 return -1
|"C"g-e K9y-g fi
!X+M1@,i7R4^*F*H,l,q mm=`expr $mm + 1`
4_"| p'O9W5C2i if [ $mm -gt 12 ] ; then
7L-e+o)N$`2ITechWeb-技术社区 mm=`expr $mm - 12`
!D2w!p5_1w+w;w#Q*F.|程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 yy=`expr $yy + 1`
8t"z*[-D;wtech.techweb.com.cn fi
%r;o/~.Y7G0w(A)YTechWeb-技术社区 done
'n2j+Z-V p fiTechWeb-技术社区4H;L;^"w-}/|,\.G2D9B#I
mm=`expr $mm + 0`
'U&B4b9q ^&B4O*[ if [ $? -ge 2 ] ; thentech.techweb.com.cn(V&];^)i8W/T;r#x3o0D7M
return -1
,l9b-L)J'V3~$wTechWeb-技术社区 fi
*r!m+s)P#P%u8p3X程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 dd1=`expr $dd1 + 0`2{8G2R6d4D'k
if [ $? -ge 2 ] ; then!M9T8|1m5W'Z7w3E:G&R
return -1
s4w,{#n2V4Y!M6U6htech.techweb.com.cn fi&U*j1`9[8G"A
if [ $mm -le 9 ] ; thentech.techweb.com.cn:D*s'y5Q-F8g8g8z
ret_date=${yy}0${mm}
'E9l-U1g'v程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 else程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛5Y%^%Z*]8A
ret_date=${yy}${mm}程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛1P5w(N#t;q4C/o)T9b9G
fi
&S(v*c.b!i,U&r.X7H$V if [ $dd1 -le 9 ] ; then程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛5N*A0x6z#O9v h"E
ret_date=${ret_date}0${dd1}.G7`5q#y#N+F0n2A
else
*D'i!Z.j$h,Ytech.techweb.com.cn ret_date=${ret_date}${dd1}TechWeb-技术社区$l)m*A;W-u,T(a
fi)p2@6f:P&W;V.W+~'h
}
"s,e5u(m)?"I6M:d3VPN=`ps -ef|grep ckmml.sh |grep -v grep |wc -l`0e$n%{;D3C:N
#echo ${PN}tech.techweb.com.cn3N f z-}:O.s2t)e6P
#如果没有重复实例,正常执行
2`.m)U$c&S(B$V;q.HTechWeb-技术社区if [ $PN -eq 1 ];then.h9Q-`1b7B!q+^#Z4H-Q-W
echo "Begin to check ...""^7i-n0j o,@+T&F1v/g
#如果已经有个实例在运行,退出本实例tech.techweb.com.cn/{0F$h+V;s#h)K't2d'O
elsetech.techweb.com.cn7_4~#V,L6r;b+_
echo "+=====================+" &k#V8N5H#A#_:O/N0t/Z
echo "The Script is running !"
/c0d!i/}5a*G3{-H/gTechWeb-技术社区 echo "+========exit=========+"
;X+[3C&w5g/H程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛 exit 1;tech.techweb.com.cn:}'b+y6\'L6K G#Y
fi
!Q$l.z/@2N#`TechWeb-技术社区if [ -f "riqi_t.unl" ];then
!i)[%e'R0i:Q!K;R;D,{tech.techweb.com.cn rm -rf riqi_t.unl
(^%t;w:D"D3K程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛fi
#T5E7Z:M ^+_-z)n4gtouch riqi_t.unl
)w,D3`+a T$K8Gtech.techweb.com.cnif [ -f "riqi.unl" ];then3x8v8g#[8U&p
rm -rf riqi.unl
&?.[*J3Q8Wtech.techweb.com.cnfi
"C0n"F&}'c1a!s2|2ttouch riqi.unl
7j&]'F#E9bif [ -f "tmpdir.unl" ];then
*{8Z8`4J1D,X9UTechWeb-技术社区 rm -rf tmpdir.unl
0o,A#G%h&?9^5y-ktech.techweb.com.cnfitech.techweb.com.cn,m l.@(I+P6e,@-B0b
touch tmpdir.unl
$T0f.K9g h4]echo ${enddate}>>riqi_t.unl0U9V/@5I+Y._9K1Q$N9Z7X/h
while [ ! ${enddate} -eq ${begdate} ]; do
+k1c.{;U$y6k1A"X1x A#echo ${enddate}TechWeb-技术社区;]3S/_8\"s6^(c
day_calculate ${enddate} -1$O+K)g%e/{-X:q
enddate=$ret_date1b']4c,b ]4U
echo ${enddate}>>riqi_t.unl
7h1^9s-_/}8C;~:a:pTechWeb-技术社区done
/q-d1|3B0c!^5^cat riqi_t.unl | sort >> riqi.unltech.techweb.com.cn.n+{5_8\+k3x/B.T'f+R3m
rm -rf riqi_t.unl
/s6q p"Z!q程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛rq=$HOME/riqi.unl
/Y6M(_;w%Q7Y#]%S(B/Jwhile read riqi other&K:K3X,F W&x;Y,d1v"I(d
do%?#z(N#|/F7o
ls -l /tellin/smpmml/sms_run/log/oplog|grep ^d |grep ${riqi}|awk -F " " '{print $9}'>>tmpdir.unl,M0y7I*K6Q9Y
done < ${rq}0`8|3{(I2a
echo "+-----------The result file --> ./${1}.log------------+"
S,J"q,~;h!Bworkdir=$HOME/tmpdir.unl!R7y%i-|9b6T/U
while read sdir other
'v2U0Y.Y0S7B p$j程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛do
!}!s6\$F C5V&z;z3e,itech.techweb.com.cncd ~smpmml/sms_run/log/oplog/${sdir}%W-T"V#e*J4G.R
#echo "+----------------------\toplog/${sdir}\t----------------------+" |tee -a $HOME/${1}.log4^-Y;i6l#t;o7s0n
#printf "+----------------------\toplog/${sdir}\t----------------------+\n" |tee -a $HOME/${1}.log
;b%k&n&d"{,Ktech.techweb.com.cnecho "+----------------------oplog/\c"
.g"y%B&b:X4W-H程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛printf "%-10s" ${sdir}tech.techweb.com.cn8o)Q8^3Q5E1r1U
echo "----------------------+"
f7v2p9m5W vtech.techweb.com.cngunzip -c *log.gz |grep ${1} |tee -a $HOME/${1}.log
)q9V$W#Z;F)e+vdone < ${workdir}
&G,\!K5u"h2M/O!H"?TechWeb-技术社区echo "+----------------------------Over----------------------------+"
|