CentOS 7中Nginx日志定时拆分实现过程详解
作者:杨吉森 时间:2023-11-04 07:46:23
一、编写拆分脚本(splitNginxLog.sh)
* 因为本例中设置每天0点进行日志的拆分,所以folder和rq均设置采用昨天的日期进行归档。
#!/bin/bash
folder=`date -d yesterday +%Y%m`
rq=`date -d yesterday +%Y%m%d`
# 原始日志路径
logs_path="/var/log/nginx/sitename.com/"
# 日志备份路径
logs_backup_path="/var/log/nginx/sitename.com/$folder"
# 要分割的日志
logs_access="access"
logs_error="error"
# 创建备份路径
[ -d $logs_backup_path ]||mkdir -p $logs_backup_path
# 将日志移入备份文件夹
mv ${logs_path}${logs_access}.log ${logs_backup_path}/${logs_access}_${rq}.log
mv ${logs_path}${logs_error}.log ${logs_backup_path}/${logs_error}_${rq}.log
# 终止nginx的pid
pid_path="/var/run/nginx.pid"
kill -USR1 $(cat $pid_path)
二、测试日志拆分脚本
在.sh文件的存放目录下运行如下语句,测试拆分脚本是否成功。
# sh splitNginxLog.sh
如果提示$'\r': 未找到命令的解决,则有可能是.sh文件编码问题,是因为在Windows编辑器中编写的脚本与在linux中的有一些区别。
处理方法:
1. 安装dos2unix用于转化编码
# yum install dos2unix
2. 转换编码
# dos2unix splitNginx.sh
三、设置定时自动执行
# crontab -l //列出所有的定时任务
# crontab -e //编辑定时任务
在其中编写如下语句:
00 00 * * * bash /root/splitNginxLog.sh
来源:https://www.cnblogs.com/yangjisen/p/12811711.html
标签:CentOS,7,Nginx,日志,拆分
0
投稿
猜你喜欢
为什么baidu只收录首或不收录
2008-03-25 10:36:00
DedeCms删除系统遗留图片
2009-02-14 08:07:00
阿里云云服务器Windows 2008下IIS添加网站绑定域名图文教程
2023-08-05 19:09:46
dede5.3顶级栏目-二级栏目标题专用标签
2009-02-15 09:42:00
魔兽世界迎来五周岁生日 全球玩家1200万
2009-11-27 16:11:00
Windows2003服务器安装及设置教程—软件安装与设置篇二—Jmail安装图解
2010-01-26 16:53:00
虚拟主机IIS防范入侵常见问答
2007-08-28 13:33:00
IIS部署asp.net报404错误的解决方法
2023-11-03 08:04:53
从用户体验和SEO两个角度谈谈网站的描述
2009-02-16 13:53:00
百度联合娃哈哈慈善基金会 邀网友许爱心梦想
2009-10-30 09:51:00
五大浏览器网页载入速度实地测试
2009-07-23 20:21:00
下载模板需注意的几个问题
2008-04-10 08:37:00
Linux jdk安装及环境变量配置教程(jdk-8u144-linux-x64.tar.gz)
2023-08-05 21:11:16
网站被搜索封杀或者降低排名几个解决办法
2009-02-04 16:06:00
五个途径写一篇符合网站优化的文章
2009-01-19 12:41:00
紧急处理Web服务器访问失败故障
2009-11-26 13:00:00
Linux/Unix关于时间和时间戳的命令行
2023-10-12 14:27:20
MDaemon的安装入门篇
2007-03-27 13:39:00
Web服务器上防范基于ASP程序的木马
2007-09-18 12:27:00
处理Windows 2003服务器IIS被挂马全过程
2010-05-03 13:33:00