nginx日志切割的脚本分享
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍"nginx日志切割的脚本分享",在日常操作中,相信很多人在nginx日志切割的脚本分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"nginx日志切割
千家信息网最后更新 2025年02月02日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安全错误
数据库的锁怎样保障安全
用友u872数据库
学习3d软件开发
网络安全带给我们的启发
时序数据库支持windows
svn代理服务器
数据库系统概论电子版
日本电脑网络安全
服务器的磁盘管理在哪里打开
万有引力服务器
网络安全防护措施基础不完善
忻尔软件开发
linux qt软件开发
北京畅游天下网络技术公司官网
软件开发类公司劳动合同
软件开发公司考核考试
KVM服务器硬件要求
关于软件开发网站新闻
计算机网络安全分类号
部署消防网络安全工作
电子软件开发职业规划
数据库中求两表并集
加强网络安全建设的建议
贵州计算机网络技术
牡丹江应用类软件开发定制
网络安全测试包括哪些
超微存储服务器登录
中国软件开发世界排名
智能云技术三部 数据库
网络安全情报的特点有哪些
数据库employee表练习