nginx定時備份日誌

2021-08-28 14:02:47 字數 1163 閱讀 7799

思路 用shell指令碼加linux定時任務來備份日誌

首先在進入nginx目錄

cd /usr/local/nginx/
建立乙個logdata目錄以後的指令碼和備份的日誌都放在這裡

mkdir /logdata
進入logdata目錄編輯建立建立乙個runlog.shshell指令碼

cd /logdata/

vim runlog.sh

內容如下

#!/bin/bash     #標準開頭

logpath=/usr/local/nginx/logs/logname.access.log #宣告變數 logpath 賦值位址

bpasepath=/logdata/$(date -d yesterday +%y%m) #宣告變數 bpasepath 賦值目錄

mkdir -p $bpasepath #便於管理每個月建立乙個目錄

bak= $bpasepath/$(date -d yesterday +%y%m%d).logname.access.log #宣告變數 bak 賦值要修改後的日誌

mv $logpath $bak #將日誌複製過去

touch $logpath #在建立乙個新的日誌

kill -usr1 `cat /usr/local/nginx/logs/nginx.pid`

儲存退出後建立乙個定時任務

crontab -e
內容如下 //每日凌晨00點執行一次 sh /logdata/runlog.sh 這個命令

* 0 * * * sh /data/runlog.sh
用法分 時 日 月 周 命令

儲存退出就好了

當然為了保險先測試一下

*/1 * * * * sh /data/runlog.sh       //先每分鐘執行一次沒問題了在改回去

實戰 nginx定時備份日誌

實際應用 shell 定時任務 nginx 訊號管理 完成日誌按日期儲存 分析思路 凌晨00 00 01,把昨天的日誌重新命名 放在相應的目錄下 再 usr1 資訊號控制 nginx 重新生成新的日誌檔案 具體指令碼 bin bash base path usr local nginx logs l...

詳解nginx日誌定時備份和刪除

一旦開啟了nginx日誌功能,每天nginx都會生成一定大小的日誌檔案,如果系統穩定執行,沒有任何程式設計客棧問題,那麼日誌基本上不會去檢視。但這些日誌如不及時清理,日漸積累,對伺服器的磁碟空間占用也將是比較恐怖的。為了解決這個問題,利用shell指令碼對nginx日誌檔案定時備份和刪除,只保留一段...

Nginx指定日誌檔案和定時任務備份日誌

一.給虛擬主機指定日誌檔案 1.指定日誌檔案 nginx允許不同的server使用不同的日誌檔案,修改nginx配置檔案如下 root data1 nginx sbin nginx s reload檢視當前日誌檔案 root data1 logs pwd usr local nginx logs r...