nginx日志切割

进入nginx logs目录

方式一:
  1. 复制日志文件
mv access.log  bak.log #复制access.log
  1. 产生新的日志文件
../sbin/nginx -s reopen #执行后会创建一个新的access.log

方式二使用定时任务切割日志
  1. 在logs目录下创建 ratate.sh文件 写入以下内容
vim ratate.sh#创建脚本文件,写入脚本
# 目标日志目录
CUR_LOGS_PATH=/usr/local/nginx/logs
# 历史日志目录(自己创建的目录)
LOGS_PATH=/usr/local/nginx/logs/history
#获取时间
YESTERDAY=$(date -d "yesterday"  %Y-%m-%d)
mv ${CUR_LOGS_PATH}/access.log  ${LOGS_PATH}/access_${YESTERDAY}.log
mv ${CUR_LOGS_PATH}/error.log  ${LOGS_PATH}/error_${YESTERDAY}.log
##向Nginx主进程发送USR1信号。USR1信号是重新打开日志文件
kill -USR1 $(cat  /usr/local/nginx/logs/nginx.pid)
  1. 给ratate.sh添加执行权限
#给文件设置可执行权限
chmod 751 ratate.sh
  1. 检测脚本是否正常
./ratate.sh#检测脚本是否正常

  1. 配置定时任务:

修改系统用户配置文件

root用户在/var/spool/cron/root 目录下

普通用户在:/var/spool/cron/用户名 目录下

vim /var/spool/cron/root #配置定时任务
#写入: 15 2 * * * /usr/local/nginx/logs/ratate.sh
# nginx日志切割定时任务

[外链图片转存失败(img-p7ufuTyw-1564932231409)(https://i.loli.net/2019/08/01/5d42bd8666e7c66124.png)]

  1. 查看定时任务:
crontab -l#查看定时任务

附:crontab表达式
字段名允许的值允许的特殊字符串
0-59, - * /
小时0-23, - * /
1-31, - * /
1-12 or JAN-DEC, - * ? / L W C
1-7 or SUN-SAT, - * /
年(可选)empty, 1970-2099, - * ? / L W C

表达式意义
‘’ * “:代表整个时间段
“?”字符:表示不确定的值
“,”字符:指定数个值
“-”字符:指定一个值的范围
“/”字符:指定一个值的增加幅度。n/m表示从n开始,每次增加m
“L”字符:用在日表示一个月中的最后一天,用在周表示该月最后一个星期X
“W”字符:指定离给定日期最近的工作日(周一到周五)
“#”字符:表示该月第几个周X。6#3表示该月第3个周五
" 0 1 * * *” 每天中午1点触发
“10 1 ? * *” 每天上午1:10触发
“15 10 * * ? 2019” 2019年的每天上午10:15触发
“0/5 13,18 * * ?” 在每天下午1点到2:55期间和下午6点到6:55期间的每5分钟触发

详情: https://www.cnblogs.com/God-froest/archive/2012/05/17/crontab_.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘彦青-Yannis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值