1、nginx服務必須起着,服務啟動了才會有nginx.pid
2、nginx日志目錄下的簡介
- nginx的產生的相關的日志默認是在/usr/local/nginx/logs的目錄里面
注意:日志的開關在Nginx的配置文件nginx.conf文件中設置,產生的日志都是可以選擇性關閉的,但是默認是打開的。
-
access.log:該日志文件是用來記錄客戶在訪問該nginx時產生的每一個請求,格式可以自定義,通過訪問日志就可以得到用戶地域來源跳轉來源,使用終端,某個URL訪問等相關信息。
-
error.og:錯誤日志,主要是記錄客戶端訪問Nginx錯誤時產生的日志,格式不支持自定義,通過錯誤日志。可以得到系統的某個服務或者server的性能瓶頸。因此將錯誤日志好好利用,可以得到很多有價值的信息。
-
nginx.pid:該日志文件主要是用來記錄nginx的master進程的pid,當nginx服務啟動時,會自動在該目錄下生成該進程的pid文件。
3、日志及其日志備份
1.日志的自動生成
- 默認的在每次啟動nginx服務的時候,都會在/usr/local/nginx/los目錄下生成access.log日志,但是在每次對服務reopen重新打開時也會在nginx重新生成access.log日志文件。
驗證如下:
此時我已經編輯了backup.sh、生成了oldlogs,這兩步在下面的操作
2.實現在每日的凌晨自動備份nginx產生的日志
編寫腳本實現nginx日志的自動備份:
vim backup.sh編輯內容如下:
#!/bin/bash
LOG_PATH=/usr/local/nginx/logs/oldlogs
CUR_LOG_PATH=/usr/local/nginx/logs
YESTERDAY=$(date +%F -d -1day)
mv $CUR_LOG_PATH/access.log $LOG_PATH/${YESTERDAY}_access.log
mv $CUR_LOG_PATH/error.log $LOG_PATH/${YESTERDAY}_error.log
kill -USR1 $( cat /usr/local/nginx/logs/nginx.pid)
添加定時命令文件實現每天凌晨的nginx服務的自動備份
如果在執行crontab -e后編輯內容如下:
編輯完成之后保存退出報錯 no crontab for root - using an empty one
解決辦法可以是crontab -e編輯后強制保存退出就可以了
4、每天檢查/usr/local/nginx/logs/oldlogs是否自動備份每日日志