2019-07-17 09:51:22 2156瀏覽
今天千鋒扣丁學(xué)堂Linux培訓(xùn)老師給大家分享一篇關(guān)于Nginx定時切割日志實現(xiàn)詳解,首先Nginx日志默認(rèn)情況下寫入到一個文件中,為了區(qū)分各個域下的日志,我們一般會分開存儲。即時這樣,文件也會變的越來越大,非常不方便查看分析。通常我們是以每日來做統(tǒng)計的,下面來聊聊以日期來分隔Nginx日志。
#!/bin/bash #初始化 LOGS_PATH=/usr/local/nginx/logs YESTERDAY=$(date -d "yesterday" +%Y%m%d) #按天切割日志 mv ${LOGS_PATH}/bbs.52itstyle.com.access.log ${LOGS_PATH}/bbs.52itstyle.com.access_${YESTERDAY}.log mv ${LOGS_PATH}/blog.52itstyle.com.access.log ${LOGS_PATH}/blog.52itstyle.com.access_${YESTERDAY}.log #向nginx主進(jìn)程發(fā)送USR1信號,重新打開日志文件,否則會繼續(xù)往mv后的文件寫數(shù)據(jù)的。原因在于:linux系統(tǒng)中,內(nèi)核是根據(jù)文件描述符來找文件的。如果不這樣操作導(dǎo)致日志切割失敗。 kill -USR1 `ps axu | grep "nginx: master process" | grep -v grep | awk '{print $2}'` #刪除7天前的日志 cd ${LOGS_PATH} find . -mtime +7 -name "*20[1-9][3-9]*" | xargs rm -f exit 0
#執(zhí)行命令 crontab -e #寫入文件并保存 0 0 * * * /home/scripts/cut_del_nginx_logs.sh
yum install crontabs
service crond start //啟動服務(wù) service crond stop //關(guān)閉服務(wù) service crond restart //重啟服務(wù) service crond reload //重新載入配置
service crond status
service crond start
ntsysv
chkconfig –level 35 crond on
用戶所建立的crontab文件中,每一行都代表一項任務(wù),每行的每個字段代表一項設(shè)置,它的格式共分為六個字段,前五段是時間設(shè)定段,第六段是要執(zhí)行的命令段,格式如下:
【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】 【掃碼進(jìn)入HTML5前端開發(fā)VIP免費公開課】
查看更多關(guān)于“Linux培訓(xùn)資訊”的相關(guān)文章>>