本篇文章給大家分享的是有關CentOS 7中Nginx日志拆分腳本的使用方法,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
一、編寫拆分腳本(splitNginxLog.sh)
* 因為本例中設置每天0點進行日志的拆分,所以folder和rq均設置采用昨天的日期進行歸檔。
#!/bin/bash
folder=`date -d yesterday +%Y%m`
rq=`date -d yesterday +%Y%m%d`
# 原始日志路徑
logs_path="/var/log/nginx/sitename.com/"
# 日志備份路徑
logs_backup_path="/var/log/nginx/sitename.com/$folder"
# 要分割的日志
logs_access="access"
logs_error="error"
# 創建備份路徑
[ -d $logs_backup_path ]||mkdir -p $logs_backup_path
# 將日志移入備份文件夾
mv ${logs_path}${logs_access}.log ${logs_backup_path}/${logs_access}_${rq}.log
mv ${logs_path}${logs_error}.log ${logs_backup_path}/${logs_error}_${rq}.log
# 終止nginx的pid
pid_path="/var/run/nginx.pid"
kill -USR1 $(cat $pid_path)二、測試日志拆分腳本
在.sh文件的存放目錄下運行如下語句,測試拆分腳本是否成功。
# sh splitNginxLog.sh
如果提示$'\r': 未找到命令的解決,則有可能是.sh文件編碼問題,是因為在Windows編輯器中編寫的腳本與在linux中的有一些區別。
處理方法:
1. 安裝dos2unix用于轉化編碼
# yum install dos2unix
2. 轉換編碼
# dos2unix splitNginx.sh
三、設置定時自動執行
# crontab -l //列出所有的定時任務
# crontab -e //編輯定時任務
在其中編寫如下語句:
00 00 * * * bash /root/splitNginxLog.sh
以上就是CentOS 7中Nginx日志拆分腳本的使用方法,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。