豆豆原創(chuàng)代碼分享:
適用于AMH面板的日志分割代碼
1、登錄SSH工具,創(chuàng)建cut_logs.sh文件,命令:
vi /root/cut_logs.sh
2、粘貼下面代碼到cut_logs.sh,并保存
#!/bin/bash
#function:cut nginx log files shell
#日志路徑,lnmp根據(jù)自己的環(huán)境命名修改
log_files_path="/home/wwwroot/lnmp/logs/"
#下面不用動(dòng)
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
#原日志命名,比如hao123.log,就填hao123
log_files_name=(hao123 access)
#下面nginx-generic-1.6,根據(jù)自己的版本修改
nginx_sbin="/usr/local/nginx-generic-1.6/sbin/nginx"
#保留30天日志,30天之前的清空
save_days=30
mkdir -p $log_files_dir
log_files_num=${#log_files_name[@]}
#cut nginx log files
for((i=0;i<$log_files_num;i++));do
mv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").log
done
#delete 30 days ago nginx log files
find $log_files_path -mtime +$save_days -exec rm -rf {} \;
#下面nginx-generic-1.6,根據(jù)自己的版本修改
kill -USR1 $(cat /usr/local/nginx-generic-1.6/logs/nginx.pid)
3、為這個(gè)腳本加執(zhí)行權(quán)限,命令:
chmod +x /root/cut_logs.sh
4、crontab -e 添加執(zhí)行時(shí)間
00 00 * * * /bin/bash /root/cut_logs.sh ,添加好保存。
意思是,每天凌晨零點(diǎn)執(zhí)行腳本,分割日志,前一天的將會(huì)移動(dòng)到另一個(gè)文件夾重新命名。
crontab -l 可以查看定時(shí)任務(wù)。
這樣就可以了。