docker nginx 定時腳本保存30天日志信息的實現(xiàn)
第一步
創(chuàng)建 docker_nginx_log_rotate.sh 腳本內(nèi)容
#!/bin/bash
# 宿主機上掛載的Nginx日志路徑
LOG_PATH="/home/nginx/log" # 替換為實際的宿主機日志掛載路徑
# 宿主機壓縮包日志存放路徑
LOG_PATH_ZIP="/home/nginx/logzip"
# Docker容器名稱或ID
CONTAINER_NAME="容器id" # 替換為你的Nginx容器名稱或ID
# 保留日志天數(shù)
KEEP_DAYS=30
# 獲取當前日期
DATE=$(date +%Y%m%d)
# 定義日志文件
ACCESS_LOG="access.log"
ERROR_LOG="error.log"
# 檢查日志目錄是否存在
if [ -d "$LOG_PATH" ]; then
# 壓縮并重命名訪問日志
if [ -f "$LOG_PATH/$ACCESS_LOG" ]; then
gzip "$LOG_PATH/$ACCESS_LOG"
mv "$LOG_PATH/$ACCESS_LOG.gz" "$LOG_PATH_ZIP/$ACCESS_LOG-$DATE.gz"
fi
# 壓縮并重命名錯誤日志
if [ -f "$LOG_PATH/$ERROR_LOG" ]; then
gzip "$LOG_PATH/$ERROR_LOG"
mv "$LOG_PATH/$ERROR_LOG.gz" "$LOG_PATH_ZIP/$ERROR_LOG-$DATE.gz"
fi
# 刪除超過保留天數(shù)的日志文件
find "$LOG_PATH_ZIP" -name "access.log-*.gz" -mtime +$KEEP_DAYS -delete
find "$LOG_PATH_ZIP" -name "error.log-*.gz" -mtime +$KEEP_DAYS -delete
# 向Docker容器內(nèi)的Nginx發(fā)送USR1信號,觸發(fā)日志輪轉(zhuǎn)
docker exec $CONTAINER_NAME nginx -s reopen
# 等待Nginx處理日志輪轉(zhuǎn)
sleep 2
echo "Docker Nginx日志輪轉(zhuǎn)完成: $(date)"
else
echo "日志目錄不存在: $LOG_PATH"
fi
第二步
設(shè)置權(quán)限
chmod +x docker_nginx_log_rotate.sh
第三步
crontab -e //每天 17.20執(zhí)行 20 17 * * * /home/docker_nginx_log_rotate.sh >/dev/null 2>&1
到此這篇關(guān)于docker nginx 定時腳本保存30天日志信息的實現(xiàn)的文章就介紹到這了,更多相關(guān)docker nginx 定時保存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker設(shè)置獲取環(huán)境變量的方法實現(xiàn)
本文主要介紹了Docker設(shè)置獲取環(huán)境變量的方法實現(xiàn),包含設(shè)置環(huán)境變量到使用獲取,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05
使用Docker方式啟動tomcat,訪問首頁出現(xiàn)404的解決方案
這篇文章主要介紹了使用Docker方式啟動tomcat,訪問首頁出現(xiàn)404的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03
詳解Docker下搭建Jenkins構(gòu)建環(huán)境
這篇文章主要介紹了詳解Docker下搭建Jenkins構(gòu)建環(huán)境,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
Docker 安裝 Jenkins 并解決初始安裝插件失敗問題
這篇文章主要介紹了Docker 安裝 Jenkins 并解決初始安裝插件失敗問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
Linux/Docker 中使用 System.Drawing.Common 踩坑記錄分享
這篇文章主要介紹了Linux/Docker 中使用 System.Drawing.Common 踩坑記錄,本文通過兩種方案給大家詳細介紹,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
使用docker build kit構(gòu)建樹莓派上可用的Docker鏡像
這篇文章主要介紹了使用docker build kit構(gòu)建樹莓派上可用的Docker鏡像,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02

