backups_log.sh
#設定log日誌的儲存位址log_path=/home/soft/nginx/logs
#設定歷史日誌的儲存位址history_log_path=/home/soft/nginx/history_logs
#獲取分割日誌時所需要的時間當做日誌檔名稱time=$(date +%y-%m-%d)
#將當前日誌備份到指定儲存目錄
mv$/access.log $/access_log/$_access.log
或者cp $/access.log $/access_log/$_access.log
#傳送訊號重新開啟日誌檔案
kill -usr1 $(cat $/nginx.pid
或者 etho 「 」 >
$/access.log
將sh指令碼加入到定時任務中,每天23:59執行
crontab -e
新增定時任務
59 23 * * * /home/sh/backups_log.sh
注意事項:
1.在沒有執行kill -usr1 nginx_pid 之前,即便已經對檔案執行了mv命令也只是改變了檔案的名稱,nginx還是會向新命名的檔案中照常寫入日誌資料。原因在於linux系統中,核心是根據檔案描述符來找檔案的
2.新增定時任務後如果定時任務沒有起作用,則使用 ps -aux | grep cron 確認下服務是否已經開啟
-usr1 是程序間通訊的訊號中的一種,至於nginx程序接收到該訊號做什麼操作是它內部定義的,除此之外我們可以使用 kill -l 確認liunx中包含哪些訊號
nginx日誌分割
以下這個指令碼實施的核心是 每天凌晨將日誌檔案壓縮並移動到相應的年份月份目錄下,然後重新生成日誌檔案,同時記錄日誌 bin bash logs path home wwwlog 日誌存放位置 year date y 年份 month date m 月份 day date y m d 日期 time ...
Nginx 日誌分割
usr bin bash 日誌檔案存放目錄 logs path var log nginx nginx程序pid nginx pid cat var run nginx.pid 日誌名稱 logs name date d yesterday y m d 改名 mv logs path access....
NGINX日誌分割
nginx日誌分割 nginx 日誌分割 主要用到的命令是 usr local nginx sbin nginx s reopen nginx s reopen 意思是重新生成日誌檔案。所以我們可以每天定時把當天的日誌問價mv 成帶日期的,然後再生成新的檔案 usr local nginx 是我的n...