思路 用shell指令碼加linux定時任務來備份日誌
首先在進入nginx
目錄
cd /usr/local/nginx/
建立乙個logdata
目錄以後的指令碼和備份的日誌都放在這裡
mkdir /logdata
進入logdata
目錄編輯建立建立乙個runlog.sh
shell指令碼
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...