主頁 > 知識庫 > CentOS 7中Nginx日志定時拆分實現(xiàn)過程詳解

CentOS 7中Nginx日志定時拆分實現(xiàn)過程詳解

熱門標(biāo)簽:阿里云 美圖手機(jī) 網(wǎng)站建設(shè) 檢查注冊表項 百度競價點(diǎn)擊價格的計算公式 智能手機(jī) 硅谷的囚徒呼叫中心 使用U盤裝系統(tǒng)

一、編寫拆分腳本(splitNginxLog.sh)

* 因為本例中設(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)

二、測試日志拆分腳本

在.sh文件的存放目錄下運(yùn)行如下語句,測試拆分腳本是否成功。

# sh splitNginxLog.sh

如果提示$'\r': 未找到命令的解決,則有可能是.sh文件編碼問題,是因為在Windows編輯器中編寫的腳本與在linux中的有一些區(qū)別。

處理方法:

1. 安裝dos2unix用于轉(zhuǎn)化編碼

# yum install dos2unix  

2. 轉(zhuǎn)換編碼

# dos2unix splitNginx.sh  

三、設(shè)置定時自動執(zhí)行

# crontab -l //列出所有的定時任務(wù)
# crontab -e //編輯定時任務(wù)

在其中編寫如下語句:

00 00 * * * bash /root/splitNginxLog.sh

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:湘潭 黃山 山南 湖北 通遼 賀州 懷化 煙臺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《CentOS 7中Nginx日志定時拆分實現(xiàn)過程詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266