适用于AMH面板的日志分割代码

豆豆原创代码分享:

适用于AMH面板的日志分割代码

1、登录SSH工具,创建cut_logs.sh文件,命令:

vi /root/cut_logs.sh

2、粘贴下面代码到cut_logs.sh,并保存

#!/bin/bash

#function:cut nginx log files shell

#日志路径,lnmp根据自己的环境命名修改

log_files_path="/home/wwwroot/lnmp/logs/"

#下面不用动

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,根据自己的版本修改

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,根据自己的版本修改

kill -USR1 $(cat /usr/local/nginx-generic-1.6/logs/nginx.pid)

3、为这个脚本加执行权限,命令:

chmod +x /root/cut_logs.sh

4、crontab -e 添加执行时间

00 00 * * * /bin/bash /root/cut_logs.sh ,添加好保存。

意思是,每天凌晨零点执行脚本,分割日志,前一天的将会移动到另一个文件夹重新命名。

crontab -l 可以查看定时任务。

这样就可以了。

你可能感兴趣的:(适用于AMH面板的日志分割代码)