指引网

当前位置: 主页 > 服务器 > Nginx >

lnmp环境下网站日志进行分割配置

来源:网络 作者:佚名 点击: 时间:2017-06-13 21:34
[摘要]  日志进行分割是可以把大的日志文件分成小的日志文件了,这样我们可以把这些日志文件进行分析了,下面一起来看lnmp下日志进行分割的操作方法。

这个教程适用于Nginx用户及lnmp用户参考的参考,其他环境下,大叔不鸡道哈!

首先我们得用root 登陆执行

#!/bin/bash
#function:cut nginx log files for lnmp v0.5 and v0.6
#set the path to nginx log files
log_files_path="/home/wwwlogs/"
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")
#set nginx log files you want to cut
log_files_name=(access vpser licess)
#set the path to nginx.
nginx_sbin="/usr/local/nginx/sbin/nginx"
#Set how long you want to save
save_days=30

############################################
#Please do not modify the following script #
############################################
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_sbin -s reload


脚本主要参数:


#设置nginx日志文件目录路径
log_files_path="/home/wwwlogs/"

#日志文件将会存放到/home/wwwlogs/年/月/日志文件名_年月日.log
log_files_dir=${log_files_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")

#设置要切割的日志的名字,如果日志目录下面的日志文件名为vpser.net.log,则填写vpser.net,每个日志名用空格分隔
log_files_name=(access vpser.net licess)

#设置nginx文件的位置
nginx_sbin="/usr/local/nginx/sbin/nginx"

#设置日志保存的时间,天
save_days=30

如果是非lnmp一键安装包用户可以通过修改上述参数适应你的nginx环境。


将nginx日志切割脚本下载到/root/下面后

执行 crontab -e

进入vi编辑模式

在编辑模式下键入 i 进行编辑

输入:

00 00 * * * /bin/bash /root/cut_nginx_logs.sh

按Esc

再按 “:”   备注,这是小写的冒号

输入wq 回车 即可保存退出

日志自动切割脚本创建完成 每天会在0点自动执行

查询自动执行任务输入

crontab -l

 

附:输入 crontab -e  提示:     crontab: command not found,只需要运行下面的命令安装 vixie-cron crontabs 即可:

yum -y install  vixie-cron crontabs

其中,vixie-cron 是cron的主程序;crontabs 是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序


补充:开启LNMP网站访问日志 分析网站日志文件


首先、找到你需要开启网站所在的conf文件,位置在

/usr/local/nginx/conf/vhost/laozuo.org.conf
其次、用文本编辑器打开上述的文件,找到最下面的
access_log off;
将其替换为:
access_log  /home/wwwlogs/laozuo.org.log  laozuo.org;
然后将下面代码加到该conf顶部:
log_format  laozuo.org  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
最后,重启LNMP
/root/lnmp restart
重启LNMP才可以生效,日志文件保存在home/wwwlogs文件夹下面,记得要定期删除,否则你的机器占用文件越来越大。
------分隔线----------------------------