CentOS 7中Nginx日志定時(shí)拆分實(shí)現(xiàn)過(guò)程詳解
一、編寫(xiě)拆分腳本(splitNginxLog.sh)
* 因?yàn)楸纠性O(shè)置每天0點(diǎn)進(jìn)行日志的拆分,所以folder和rq均設(shè)置采用昨天的日期進(jìn)行歸檔。
#!/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" # 創(chuàng)建備份路徑 [ -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)
二、測(cè)試日志拆分腳本
在.sh文件的存放目錄下運(yùn)行如下語(yǔ)句,測(cè)試拆分腳本是否成功。
# sh splitNginxLog.sh
如果提示$'\r': 未找到命令的解決,則有可能是.sh文件編碼問(wèn)題,是因?yàn)樵赪indows編輯器中編寫(xiě)的腳本與在linux中的有一些區(qū)別。
處理方法:
1. 安裝dos2unix用于轉(zhuǎn)化編碼
# yum install dos2unix
2. 轉(zhuǎn)換編碼
# dos2unix splitNginx.sh
三、設(shè)置定時(shí)自動(dòng)執(zhí)行
# crontab -l //列出所有的定時(shí)任務(wù)
# crontab -e //編輯定時(shí)任務(wù)
在其中編寫(xiě)如下語(yǔ)句:
00 00 * * * bash /root/splitNginxLog.sh
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。