建立乙個shell可執行檔案:cut_my_log.sh,內容為:
#!/bin/bashlog_path="
/var/log/nginx/
"record_time=$(date -d "
yesterday
" +%y-%m-%d+%h:%m)
pid=/var/run/nginx/nginx.pid
mv $/access.log $/access.$.log
mv $/error.log $/error.$.log
#向nginx主程序傳送訊號,用於重新開啟日誌檔案
kill -usr1 `cat $pid`
為cut_my_log.sh新增可執行的許可權:
chmod +x cut_my_log.sh
執行檔案,檢視測試結果:
./cut_my_log.sh
安裝定時任務:
yum install crontabs
*/1 * * * * /usr/local/nginx/sbin/cut_my_log.sh#crontab -l 檢視當前定時任務列表
常用表示式:
#每分鐘執行*/1 * * * *#每日凌晨執行
59 23 * * *#每日凌晨一點執行
0 1 * * *
重啟定時任務:
service crond restart
常用定時任務命令:
service crond start //啟動服務
service crond stop //
關閉服務
service crond restart //
重啟服務
service crond reload //
重新載入配置
crontab -e //
編輯任務
crontab -l //
檢視任務列表
每天定時為資料庫備份:
nginx日誌切割
web 訪問日誌 access log 記錄了所有外部客戶端對web伺服器的訪問行為,包含了客戶端ip,訪問日期,訪問的url資源,伺服器返回的http狀態碼等重要資訊。一條典型的web訪問日誌如下 規劃 1 要解決問題 2 nignx沒有自動分開檔案儲存日誌的機制。由於nginx它不會幫你自動分檔...
nginx 日誌切割
直接在nginx配置檔案中,配置日誌迴圈,而不需使用logrotate或配置cron任務。需要使用到 time iso8601 內嵌變數來獲取時間。time iso8601格式如下 2015 08 07t18 12 02 02 00。然後使用正規表示式來獲取所需時間的資料。使用下面的 塊 1 2 3...
Nginx日誌切割
編輯指令碼tianshl tianshl nginx vim nginx log division.sh指令碼內容 bin sh 昨天日期 yesterday date v 1d y m d 日誌目錄 log path usr local var log nginx sdk日誌路徑 sdk path...