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
投稿
猜你喜欢
国家网络电视台将在2010年元旦前后正式亮相
2009-11-14 10:13:00
网络赚钱 这样多现象为什么不思考?
2009-01-13 16:26:00
什么样的页面会被Google放入省略的结果中?
2009-01-14 09:57:00
四大技巧 让美图秀秀完美兼容Windows7
2009-11-23 14:20:00
社区运营的经验分享 吸引用户仅是第一步
2008-11-26 16:21:00
Webmail攻防实战(6)
2007-11-01 14:09:00
Windows缓存写入失败故障分析
2007-04-23 15:11:00
WordPress Gravatar头像无法显示两种解决办法
2011-09-26 20:32:10
在Win 2003环境中设置一个Web服务器
2009-07-23 14:14:00
Exchange 2007自动发现服务原理及调试
2010-03-13 18:46:00
百度更改网页权重算法 网站如何被顺利收录
2008-12-04 08:55:00
Facebook Twitter等X360新功能将开测
2009-10-16 08:50:00
linux登录时候提示字符集有问题解决方法
2023-11-02 21:28:39
11月12日蓝色理想经典论坛无法访问声明
2007-11-12 23:18:00
怎样学好搜索引擎优化SEO?
2009-02-24 08:51:00
centOS7 NET模式设置静态Ip的方法步骤
2023-07-26 15:13:22
adsense广告管理又添新功能!
2008-01-17 12:07:00
Linux下Discuz论坛实现伪静态方法
2010-03-03 16:53:00
百度视频全新改版 自动展现每日热门视频
2009-10-30 14:48:00
雅虎CEO因病缺席分析师会议遭嘲讽
2009-10-21 15:23:00