当前位置: 首页 > Linux

linux系统环境下的nginx日志切割

时间:2023-04-06 23:10:33 Linux

Shell没有基础,但是需要达到每天切割nginx日志的效果。我在Internet上找到了一些副本,但收效甚微。最后,我自己测试的,真的是可以用的吧?参考文章:https://www.cnblogs.com/kaitu...1.在某个目录下创建一个需要定时执行的脚本#cd/etc/nginx/mylogs2.创建名为cut-log.sh#vimcut-log.sh3的脚本。将以下脚本保存到文件()#!/bin/bash##零点执行脚本##Nginx日志文件所在目录LOGS_PATH=/home/abc/logs##nginx.pid所在目录pid_path="/var/run/nginx.pid"##获取昨天的yyyy-MM-ddYESTERDAY=$(date-dlast-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执行(可以在命令窗口模式下观察文件是否变色为可执行文件)#chmod755cut-log.sh5.使用crontab-e添加一个新的定时任务,在里面添加并执行这个脚本:#00***/etc/nginx/mylogs/cut-log.sh这里基本配置好了,cron的cron守护线程linux系统会在相应的时间执行任务。保存退出成功,会提示crontab:installingnewcrontab使用crontab命令可能会报Centoscrontabcommandnotfound的错误。这时候需要安装相应的软件包:#yuminstallvixie-cron