快速业务通道

我的一个学生在运维工作中写的自动日志清理脚本程序

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-05

clearFileNameArr=($(ls ${logPath}|awk -F "." ''NF==3{print $0}''))
# clear file name is not blank
if [ -n "${clearFileNameArr}" ];then
echo "|">>${scriptLog}
for((i=0;i<${#clearFileNameArr[@]};i ))
do
if [ ${i} -eq 0 ];then
echo "clear file------------------start--------------------------->">>${scriptLog}
fi

# cd this directory
cd ${logPath}
if [ -f "${logPath}/${clearFileNameArr[$i]}" ];then
find . -type f -name ${clearFileNameArr[$i]} |xargs rm -f
fi

if [ $? -eq 0 ];then
echo "${clearFileNameArr[$i]}">>${scriptLog}
fi
done
echo "clear file------------------------- end -------------------->">>${scriptLog}
echo "|">>${scriptLog}
else
echo "☆☆☆☆☆☆ Not files 1 day ago ☆☆☆☆☆☆">>${scriptLog}
fi
afterClearoldboyUsed=$(/bin/df ${oldboyName}|tail -1|awk ''{print $5}''|awk -F "%" ''{print $1}'')
echo "clear ${logPath} logs ${1} ago days logs successfully!">>${scriptLog}
fi
}

如果你把握不好该脚本带来的误删除的风险,请慎用.


#when today log save ,check hard disk used >80%,so clear today logs
clearTodayLog()
{
oldboyUsedTmp=$(/bin/df ${oldboyName}|tail -1|awk ''{print $5}''|awk -F "%" ''{print $1}'')
echo "clear today log start ...">>${scriptLog}
#todayFileArr=($(ls ${logPath}))
todayFileArr=($(find ${logPath} -type f|awk -F "/" ''{print $NF}'' ))
echo "start save current logs tail 300 ..">>${scriptLog}
echo "|">>${scriptLog}
echo "dealing currnet logs name*********start*************>>>>">>${scriptLog}
for((i=0;i<${#todayFileArr[@]};i ))
do
cd ${logPath}

#get tail 300 --> tmp file
tail -300 ${todayFileArr[$i]}>/tmp/tmpydds

#check file exist again save tail 300 --- this file

if [ -f "${logPath}/${todayFileArr[$i]}" ];then
find . -type f -name ${todayFileArr[$i]} -exec cat /tmp/tmpydds >${logPath}/${todayFileArr[$i]} ;
if [ $? -eq 0 ];then
echo " ${todayFileArr[$i]}----- ok!">>${scriptLog}
else
echo " ${todayFileArr[$i]}----- fail!">>${scriptLog}
fi
fi
done
echo "dealing currnet logs name********* end *************>>>>">>${scriptLog}
echo "|">>${scriptLog}
if [ $? -eq 0 ];then
echo "clear today log successfully!">>${scriptLog}

else
echo "clear today log fail!">>${scriptLog}
fi
}


wflag=0
cflag=0
flag=0
count=0


#clear nohup.log
#clearNohupLog 0

while true
do
oldboyUsed=$(/bin/df ${oldboyName}|tail -1|awk ''{print $5}''|awk -F "%" ''{print $1}'')

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号