|
################################Start Script#######################################
#clearlog.sh:清空log文件的脚本
################################Start Script#######################################
#!/bin/bash
# Warning:
# 执行此脚本将清空cin/log目录下所有log文件
LOG_DIR=$HOME/cin/log
E_XCD=66
cd $LOG_DIR
# 在处理log file之前,再确认一遍当前目录是否正确.
if [ `pwd` != "$LOG_DIR" ] # 或者 if[ "$PWD" != "$LOG_DIR" ]
then
echo "进入目录 $LOG_DIR失败!"
exit $E_XCD
fi
#删除log按时间备份文件
rm -rf *[0-9][0-9][0-9][0-9]
echo "删除按时间备份log文件成功!"
#读取cin/log下的日志文件,开始清除
for i in `ls *.log *.[0-9] *.sdf MANINFO`
do
var1=`cat $i |wc -l` #计算文件的行数
mv $i $i.$$
sed -e '1,'$var1'd' $i.$$>$i #删除1至var1之间的行
rm $i.$$
echo "清空日志成功!">>$i
date >>$i
echo "清空$i成功!"
done
exit 0
################################End Script#########################################
这个脚本是用于清除log文件夹下的文件的,文件夹下文件名类似于这些:log.sdf.200804151617
log.sdf
SRF.INFO.0
SRF.INFO.0.200804131457
想删除掉这些后缀为时间但保留SRF.INFO.0,这个脚本rm语句删除根本没有起作用,而且后面的清空log.sdf这个文件也没能清空掉,实在是分析不出来有啥原因了 |
|