Nginx 切割日志
1.进入nginx的的sbin目录中使用命令./nginx -V查看自己的详细信息
这是我的详细信息
[root@localhost sbin]# ./nginx -V nginx version: nginx/1.16.1 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC) configure arguments:
--prefix=/usr/local/nginx
--pid-path=/var/run/nginx/nginx.pid
--lock-path=/var/lock/nginx.lock
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--with-http_gzip_static_module
--http-client-body-temp-path=/var/temp/nginx/client
--http-proxy-temp-path=/var/temp/nginx/proxy
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi
--http-scgi-temp-path=/var/temp/nginx/scgi
--error-log-path=/var/log/nginx/error.log这个是安装nginx为它配置的日志路径
2.通过命令 cd /var/log/nginx可以查看有两日志文件access.log 和error.log
3.Nginx 日志切割-手动
(1)进入进入nginx的的sbin目录中创建一个shell可执行文件:cut_my_log.sh
(2)通过 命令创建:vim cut_my_log.sh
内容为:
#这是bash文件 #!/bin/bash #日志的路径 LOG_PATH="/var/log/nginx/" #时间为分单位来记录日志 RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d+%H:%M) #nginx指定的进程 PID=/var/run/nginx/nginx.pid #把日志重命名加上时间 mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log #向Nginx主进程发送信号,用于重新打开日志文件 kill -USR1 `cat $PID`
(3)为cut_my_log.sh添加可执行的权限:
chmod +x cut_my_log.sh
(4)执行cut_my_log.sh
./cut_my_log.sh
(5)测试手动日志切割后的结果:
进入nginx为它配置的日志路径
cd /var/log/nginx
可以看到多出了加有时间的日志了
4.Nginx 日志切割-定时
使用定时任务
(1)安装定时任务:
yum install crontabs
(2)crontab -e 编辑并且添加一行新的任务:
*/1 * * * * /usr/local/nginx/sbin/cut_my_log.sh
(3)查看新的任务
crontab –l
(4)重启定时任务:
service crond restart
(5)测试自动日志切割后的结果:
(5.1)进入nginx为它配置的日志路径
cd /var/log/nginx
5.常用定时任务命令:
(1)启动服务
service crond start
关闭服务
service crond stop
重启服务
service crond restart
重新载入配置
service crond reload
编辑任务
crontab -e
查看任务列表
crontab -l
定时表达式例子:
每分钟
0/1 * * * *
每两个小时 0 */2 * * *
每个月的4号与每个礼拜的礼拜一到礼拜三的早上11点 0 11 4 * 1-3
1月1日早上4点 0 4 1 1 *