这个脚本是在LNMP论坛找到的,感觉很不错~~
脚本如下:
#!/bin/bash#function:cut nginx log files for lnmp v0.5 and v0.6#author: http://lnmp.org#设置你的日志存放的目录log_files_path="/home/wwwlogs/"#日志以年/月的目录形式存放log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")#设置需要进行日志分割的日志文件名称,多个以空格隔开log_files_name=(access www.abc3210.com)#设置nginx的安装路径nginx_sbin="/usr/local/nginx/sbin/nginx"#Set how long you want to savesave_days=30#############################################Please do not modify the following script #############################################mkdir -p $log_files_dirlog_files_num=${#log_files_name[@]}#cut nginx log filesfor((i=0;i<$log_files_num;i++));domv ${log_files_path}${log_files_name[i]}.log ${log_files_dir}/${log_files_name[i]}_$(date -d "yesterday" +"%Y%m%d").logdone#delete 30 days ago nginx log filesfind $log_files_path -mtime +$save_days -exec rm -rf {} /; $nginx_sbin -s reload
把上面的保存为.sh文件,然后给上可执行权限,再配合Linux的计划任务,完美拉~~~