nginx日志切割的脚本分享
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇文章主要介绍"nginx日志切割的脚本分享",在日常操作中,相信很多人在nginx日志切割的脚本分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"nginx日志切割
千家信息网最后更新 2025年11月16日nginx日志切割的脚本分享
这篇文章主要介绍"nginx日志切割的脚本分享",在日常操作中,相信很多人在nginx日志切割的脚本分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"nginx日志切割的脚本分享"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
实现方法一
#!/bin/bashLogs_path="/data/Application/nginx/logs"Pid_path="/data/Application/nginx/nginx.pid"Month=`date +%Y-%m`Date=`date +%Y-%m-%d`Time=`date +%H`WaitTime=$((24*60*60))LogCut(){ cd $Logs_path mkdir -p $Month while true do mv $Logs_path/access.log $Logs_path/$Month/access_$Date.log kill -USR1 `cat ${Pid_path}` done sleep $WaitTime return 0}case $1 instart) LogCut >/dev/null & ;;stop) kill -9 `ps aux | grep LogCut | grep -v grep | awk '{print $2}'`>/dev/null ;;restart) kill -9 `ps aux | grep LogCut | grep -v grep | awk '{print $2}'`>/dev/null LogCut >/dev/null & ;;*) echo "Usage ERROR!Please use "start" or "stop" or "restart"!"esac实现方法二
试验环境:
# cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.3 (Tikanga)# /opt/nginx/nginx -vnginx version: nginx/1.6.2
代码:
#!/bin/bash# ==============================================================================# chmod u+x /opt/nginx/cut_nginx_log.sh# crontab -e# 0 0 * * * /opt/nginx/cut_nginx_log.sh > /opt/nginx/logs/cut_nginx_log.log 2>&1# ==============================================================================LOGS_PATH="/opt/nginx/logs"ARCHIVE_YEAR=$(date -d "yesterday" "+%Y")ARCHIVE_MONTH=$(date -d "yesterday" "+%m")ARCHIVE_DATE=$(date -d "yesterday" "+%Y%m%d_%H%M%S")if [ -r /opt/nginx/nginx.pid ]; then mkdir -p "${LOGS_PATH}/${ARCHIVE_YEAR}/${ARCHIVE_MONTH}" mv "${LOGS_PATH}/access.log" "${LOGS_PATH}/${ARCHIVE_YEAR}/${ARCHIVE_MONTH}/access_${ARCHIVE_DATE}.log" kill -USR1 $(cat "/opt/nginx/nginx.pid") sleep 1 gzip "${LOGS_PATH}/${ARCHIVE_YEAR}/${ARCHIVE_MONTH}/access_${ARCHIVE_DATE}.log"else echo "Nginx might be down"fi# ==============================================================================# Clean up log files older than 100 days# ==============================================================================# Change HOUSEKEEPING=1 to enable clean upHOUSEKEEPING=0KEEP_DAYS=100if [ $HOUSEKEEPING == 1 ]; then if [ -d "${LOGS_PATH}" ]; then find "${LOGS_PATH}" -type f -name "access_*.log.gz" -mtime +${KEEP_DAYS} -exec rm -f {} \; fifi到此,关于"nginx日志切割的脚本分享"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
日志
脚本
学习
方法
更多
帮助
实用
接下来
代码
文章
环境
理论
知识
篇文章
网站
资料
跟着
问题
好用
实践
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
swich巴西服务器买游戏
执行云计算的服务器为
华为电脑支持苹果系统软件开发吗
手机怎么设置服务器dns地址
社交软件数据库选择
幼儿园网络安全相关制度
安擎网络安全
网络技术应用心理学专业
医院网络安全与防护处理
服务器x79支持什么cpu
ip归属地查询数据库
广东新语优品网络技术有限公司
新媒体数据库
西南科技大学网络技术学院
tplink虚拟服务器怎么配置
灵宝到宁波高速服务器
面试网络技术库基本知识点
数据库模块窗口显示多个输入值
梦幻大堂官府服务器
win10 代理 服务器
苏州培训软件开发机构
网络技术数据分析
木瓜互联网科技股票
陈海滨 网络安全
周鸿祎讲网络安全
潮州定制化精益软件开发
怎么软件开发技术评审
东海质量网络技术推荐咨询
vc 定时读取串口数据库
华师大公共数据库入口