docker nginx 定時腳本保存30天日志信息的實(shí)現(xiàn)
第一步
創(chuàng)建 docker_nginx_log_rotate.sh 腳本內(nèi)容
#!/bin/bash
# 宿主機(jī)上掛載的Nginx日志路徑
LOG_PATH="/home/nginx/log" # 替換為實(shí)際的宿主機(jī)日志掛載路徑
# 宿主機(jī)壓縮包日志存放路徑
LOG_PATH_ZIP="/home/nginx/logzip"
# Docker容器名稱或ID
CONTAINER_NAME="容器id" # 替換為你的Nginx容器名稱或ID
# 保留日志天數(shù)
KEEP_DAYS=30
# 獲取當(dāng)前日期
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天日志信息的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)docker nginx 定時保存內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker Desktop中安裝MySQL并開啟遠(yuǎn)程訪問的詳細(xì)教程
本文主要介紹了在Docker Desktop中安裝MySQL并開啟遠(yuǎn)程訪問,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
記一次Docker生產(chǎn)環(huán)境搭建的方法
這篇文章主要介紹了記一次Docker生產(chǎn)環(huán)境搭建的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06
Docker安裝和基礎(chǔ)用法 Docker入門教程第二篇
這篇文章主要介紹了Docker安裝和基礎(chǔ)用法,Docker入門教程第二篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10
Linux下保存Docker鏡像文件至本地及啟動實(shí)現(xiàn)方式
文章介紹了如何在Linux環(huán)境下將Docker鏡像保存到本地,并將其導(dǎo)入到其他Docker主機(jī),主要內(nèi)容包括保存鏡像為`.tar`文件、驗證保存的文件、以及如何在另一臺Docker主機(jī)上導(dǎo)入該鏡像2025-12-12
keepalived+nginx+httpd實(shí)現(xiàn)的雙機(jī)熱備+負(fù)載均衡
本文主要介紹了keepalived + nginx + httpd 實(shí)現(xiàn)的雙機(jī)熱備+負(fù)載均衡,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-07-07
docker?部署?gitlab-ce?16.9.1的詳細(xì)過程
Docker是一個開源的應(yīng)用容器引擎,它允許開發(fā)者將應(yīng)用及其依賴打包到一個可移植的容器中,然后發(fā)布到任何支持Docker的Linux或Windows操作系統(tǒng)上,這篇文章主要介紹了docker?部署gitlab-ce?16.9.1的詳細(xì)過程,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2024-04-04
Docker啟用TLS實(shí)現(xiàn)安全配置的步驟
這篇文章主要給大家介紹了關(guān)于Docker啟用TLS實(shí)現(xiàn)安全配置的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Docker具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Docker中Harbor企業(yè)級鏡像倉庫的搭建與使用
本文介紹了Harbor企業(yè)級鏡像倉庫的搭建與使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
docker容器與centos宿主機(jī)時間一致設(shè)置方法
這篇文章主要介紹了docker容器與centos宿主機(jī)時間一致設(shè)置方法,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-05-05

