5、nginx日志切割和刪除

5、Nginx日志切割和日志定期刪除?
LogDir=/data/logs/nginx ?#日志存放目錄?
LogDate=`date +%Y%m%d` ?#日志名稱后綴?
KeepLogDays=30 ?#保留的天數(shù)(看自己的需求)?
DelDate=`date -d "-${KeepLogDays} days" +%Y%m%d` #當(dāng)前時間的前三十天時間戳(是一個具體的日期)?
(-d參數(shù)是刪除 語法:date -d 3days?雙引號引用的話中間可以有空格 否則會報錯)?
(+%Y%m%d參數(shù)是打印日期的格式 語法:date +%Y%m%d?)?
Logs=`ls -l /data/logs/nginx/*.log|awk -F'/' '{print $NF}'` ?#日志存放目錄下以.log結(jié)尾的日志名稱?
[ -d $LogDir/$LogDate ] || mkdir $LogDir/$LogDate ?#判斷日志存放目錄下當(dāng)前時間戳的是否為目錄 沒有的話新建目錄?
for i in $Logs;?
do?
??if [ -f $LogDir/$i ];then?
????touch $LogDir/$LogDate/$i?
????ln -sf $LogDir/$LogDate/$i $LogDir/$i?
??fi?
done?
#把所有的Logs都新建在當(dāng)前時間戳的目錄里面,并且在上層目錄下建立軟鏈文件?
kill -USR1 `cat /DIR/nginx.pid`#你的nginx.pid存放路徑 看配置文件?
if [ x$KeepLogDays != x0 ];then?
??rm -rf $LogDir/$DelDate?
fi?
#變量KeepLogDays不為零的時候刪除DelDate變量代表?
PS:把這個腳本寫成定時任務(wù),每天00:00執(zhí)行一次即可
了解更多網(wǎng)絡(luò)知識關(guān)注:http://www.vecloud.com/