Nginx实现高可用之nginx日志切割(手动,定时)nginx日志定时获取nginx日志手动获取

一、手动
1.安装好nginx,nginx的安装请看我主页
2.进入nginx的sbin目录创建一个shell可执行文件:cut_my_log.sh

a.vim cut_my_log.sh
b.输入以下指令

#!/bin/bash
LOG_PATH="/var/log/nginx/"
RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d+%H:%M)
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`

c.cut_my_log.sh创建成功,如图:
在这里插入图片描述
4.当前cut_my_log.sh无法执行,需要操作权限

chmod +x cut_my_log.sh

5./cut_my_log.sh启动时,如果出现错误,我这出现了:
**mv: cannot stat `/var/log/nginx//access.log’: No such file or directory
cat: /var/run/nginx/nginx.pid: No such file or directory
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec … or kill -l [sigspec]**查看我的这个文章https://blog.csdn.net/weixin_43700943/article/details/107385971做一次就可以

6.然后./cut_my_log.sh启动成功,可以通过./nginx -V查看日志文件的位置即可查看日志文件:
在这里插入图片描述
二、定时
1.安装定时任务:

yum install crontabs

2.crontab -e 编辑并且添加一行新的任务:

*/1 * * * * /usr/local/nginx/sbin/cut_my_log.sh
解释:*/1 * * * *表示每一分钟执行
/usr/local/nginx/sbin/cut_my_log.sh表示执行的任务,就是cut_my_log.sh文件,前面目录根据自己的位置填写

3.重启定时任务:

service crond restart

*常用命令:
service crond start    启动服务
service crond stop    关闭服务
service  crond restart  重启服务
service crond  reload  重新载入配置
crontab -e   编辑任务
crontab -l    查看任务

4.常用表达式执行:
a.每分钟执行

*/1 * * * *

b.每日凌晨(每天晚上23:59)执行:

59 23 * * *

c.每日凌晨1点执行:

0 1 * * *
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值