博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux系统环境下的nginx日志切割
阅读量:5935 次
发布时间:2019-06-19

本文共 839 字,大约阅读时间需要 2 分钟。

Shell没基础,但是需要实现nginx日志每日切割的效果,在网上找了一些照搬都没怎么成功,最后自己试验出来的才是真正能用的不是嘛

参考文章:

1.在某目录下创建需要定时执行的脚本

# cd /etc/nginx/mylogs

2.创建脚本名为cut-log.sh的脚本

# vim cut-log.sh

3.保存下面的脚本到文件中()

#!/bin/bash## 零点执行该脚本## Nginx 日志文件所在的目录LOGS_PATH=/home/abc/logs##nginx.pid所在目录pid_path="/var/run/nginx.pid"## 获取昨天的 yyyy-MM-ddYESTERDAY=$(date -d last-day +%Y%m%d)## 执行mv操作mv ${LOGS_PATH}/abc.access.log ${LOGS_PATH}/abc.access.log_${YESTERDAY}.log## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件#kill -USR1 $(cat /var/run/nginx.pid)kill -USR1 `cat ${pid_path}`

4.保存退出,允许Shell执行它(可在命令窗口模式下观察文件是否变色成可执行文件)

#  chmod 755 cut-log.sh

5.使用 crontab -e 新增一个定时任务,在其中增加执行这个脚本:

# 0 0 * * * /etc/nginx/mylogs/cut-log.sh

到这基本上配置完毕了,linux系统的cron守护线程会在对应的时间执行任务。保存成功退出,会提示crontab: installing new crontab

使用crontab命令有可能报Centos crontab command not found的错误,这时需要安装相应的软件包:

# yum install vixie-cron

转载地址:http://qsjtx.baihongyu.com/

你可能感兴趣的文章
phpmyadmin出现空password登录被禁止
查看>>
IOS开发基础知识--碎片34
查看>>
如何把Eclipse工程导入到Android Studio
查看>>
nodejs学习笔记四——express-session
查看>>
C#格式化小数位的方法
查看>>
ASP.NET MVC RouteExistingFiles
查看>>
Ubuntu下安装和配置mysql
查看>>
cron表达式
查看>>
UVa 836 - Largest Submatrix
查看>>
Android 4.4 Kitkat Phone工作流程浅析(六)__InCallActivity显示更新流程
查看>>
Android Studio 简单介绍和使用问题小结
查看>>
谁是2016年的.NET开发者?
查看>>
maven依赖关系中Scope的作用
查看>>
iptables 无法连外网
查看>>
jenkins集成ansible注意事项Failed to connect to the host via ssh.
查看>>
2016第33周四
查看>>
iOS开发UI篇—Quartz2D使用(信纸条纹)
查看>>
EL表达式经典用法
查看>>
【转】Flume日志收集
查看>>
转:Log4j使用
查看>>