nginx中access日志如何做到按时间完美切割
nginx web服务器中access日志,默认是不能按时间分隔的,每次日志都是打在access.log上,这样久而久之这个日志文件就特别的大,也不利于清理和管理,故此我们肯定是需要做时间上的切割的,那么如何做到完美的切割的呢?
我们采取的方案是利用shell脚本和crontab定时任务来做
比如新建一个nginx_time_log.sh脚本,里面的内容如下
(当然也可以使用linux中的logrotate来做日志切割)
!/bin/bash
local_path=/home/work/tp/log/webserver #找到您服务器中存放access日志的目录
cd $local_path #进入这个目录
mv access_log $local_path/access_log date +%Y%m%d%H
#把当前的access_log挪到这个时期下,其实就是相当于日志的切分
nginx_pid=ps -ef |grep -v grep |grep “nginx: master process “|awk -F” ” ‘{print $2}’
#找到您nginx的进程
kill -USR1 $nginx_pid
#执行usr1
这样就会先把access_log 移动到一个access_log.时间 的日志文件,并且会新生产一个access_log文件
最后通过定时任务来让这个nginx_time.sh脚本按每小时来进行切分
crontab命令如下:
0 /1 sh /xxx(您这个脚本的存放命令)/nginx.sh 按每小时切割
相关推荐
yangliuhbhd 2020-09-24
风之羽翼 2020-09-14
luotuofeile 2020-07-28
Strongding 2020-06-25
xuanwenchao 2020-06-14
昊 2020-06-04
ysmh00 2020-05-14
ErixHao 2020-05-08
数据库之扑朔迷离 2020-05-06
whyname 2020-04-29
daillo 2020-04-20
踩风火轮的乌龟 2020-04-19
hitxueliang 2020-04-18
hithyc 2020-04-17
snowguy 2020-04-10
zengfanpei 2020-03-08
阿亮 2020-01-30