shell腳本log
『壹』 shell定期刪除日誌腳本
腳本如下:
#!/bin/bash
# vim /etc/cron.d/backup
#Author:xxxx
#Date:20140619
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
DIR="/tmp/logs"
file_num=`find $DIR/*.log.* -mtime +1 |wc -l`
echo "have $file_num file"
find $DIR/*.log.* -mtime +1 |xargs rm -rf {} \; >/dev/null 2>&1
====================================================
上面腳本能完成你的要求
一定要照你的腳本寫,沒有測試,你自己修改一下,思路是這樣的。
上面的直接用Find找到文件的修改時間,直接定位文件刪除。
下面這個匹配文件中的名字中包含指定時間的文件,條件為真,刪除。
計算加1.
你自己寫的時間匹配有問題好像。
++++++++++++++++++++++++++++++++++++
tianshu=1
m=0
sj=`date +%Y%m%d -d -${tianshu}day`
for i in `ls *.log.*`
do
echo $i |grep 」$sj「 && rm -f $i
if [ $? = 0 ];then
m++
fi
done
echo $m
『貳』 shell腳本 把logs 目錄下的每個文件夾 裡面的文件都壓縮
#/bin/bash
path=/corelogs/card_center/logs
folderlist=`ls $path|grep -v '^$'`
for i in $folderlist
do
cd $path/$i
filelist=`ls|grep -v '^$'`
for k in $filelist
do
zip -q -r $k.zip $k
done
done
##這是將所有log文件壓縮在對應的日期目錄下