日誌切割
就是把系統的日誌以天爲單位進行存放,即每一天的日誌都分開放
企業當中每天都要備份昨天的日誌,然後生成一個新的日誌記錄今天的
如果不做日誌切割,當日志文件很大的時候,vim打開的時候可能出現卡死等問題
而且排錯也簡單
環境搭建
安裝 Nginx
路徑 /usr/local/nginx
操作流程
服務端
ip:192.168.1.1/24
host:server
cd /usr/local/nginx/logs
access.log
存放訪問nginx服務器成功的日誌信息
error.log
存放訪問nginx服務器失敗的日誌信息
nginx.pid
嚴格來說這個不算日誌,裏面存放的是nginx進程的pid
du -sh access.log
查看日誌大小
測試端
ip:192.168.1.100
host:client
添加域名解析
ab -c 10 -n 5000 curl http://192.168.1.100/index.html
完成 10 併發 ,5000 次訪問 server
服務端
du -sh access.log
文件變大
mv access.log
date +%F -d -1day
_access.log備份
/usr/local/nginx/sbin/nginx -s reopen
重新生成新的日誌
du -sh access.log
文件大小還原到初始值
測試端
ab -c 10 -n 5000 curl http://192.168.1.100/index.html
再次完成 10 併發 ,5000 次訪問 server
服務端
du -sh access.log
文件大小發生改變
自動化日誌切割
在生產環境中每一天的日誌文件都是要打包備份的
如果每天都手動的去截取日誌,重命名這樣就很不方便,所以我們編寫一個腳本並建立一個定時任務來進行這些工作
日誌切割是自動執行的,寫在crotab定時任務裏面,寫一個腳本實現
操作流程
cd /usr/local/nginx/logs
在nginx服務的日誌目錄下編寫腳本
vim backup.sh
chmod +x backup.sh
添加執行權限
mkdir oldlogs
創建備份日誌存放路徑
./backup.sh
執行腳本,查看日誌是否自動切割備份
cd oldlogs
ll
可以查看到生成日誌備份文件
crontab -e
0 0 * * *
編寫定時任務,實際企業當中的服務器每天晚上的00:00準時進行日誌切割
crontab -l
查看定時任務