第一:問題 Nginx的日誌真的很大
[root@iZ23evimvf8Z logs]# ll -sh
total 1.5G
1.5G -rw-r--r-- 1 root root 1.5G Dec 7 18:32 access.log
57M -rw-r--r-- 1 root root 56M Dec 7 18:25 error.log
4.0K -rwxrwxrwx 1 root root 468 Dec 7 18:27 nginxLogRotate.sh
4.0K -rw-r--r-- 1 root root 6 Dec 7 18:18 nginx.pid
[root@iZ23evimvf8Z logs]#
第二:這個日誌我們要讓它每天都產生一個新的
一:創建一個腳本
[root@iZ23evimvf8Z logs]# cd /usr/local/nginx/logs
[root@iZ23evimvf8Z logs]# touch nginxLogRotate.sh
[root@iZ23evimvf8Z logs]# vi nginxLogRotate.sh
二:腳本內容
#!/bin/bash
#設置Nginx日誌的文件位置
LOGS_PATH=/usr/local/nginx/logs
## 獲取當天日期,用於日誌文件名上
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
## 移動access.log日誌,並修改命名
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
## 移動error.log日誌,並修改命名
mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log
## 向 Nginx 主進程發送 USR1 信號。USR1 信號是重新打開日誌文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
三:執行腳本文件讀寫執行權限
[root@iZ23evimvf8Z logs]# chmod 777 nginxLogRotate.sh
四:配置自動調度
[root@iZ23evimvf8Z logs]# crontab -e
內容如下:
#每天23點50分執行 /usr/local/nginx/logs/nginxLogRotate.sh腳本
50 23 * * * bash /usr/local/nginx/logs/nginxLogRotate.sh
查看一下配置的定時任務是否加入 查看root用戶
[root@iZ23evimvf8Z logs]# crontab -l -u root
50 23 * * * bash /usr/local/nginx/logs/nginxLogRotate.sh
五:看一下效果吧
我的朋友,就這樣咯....