国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

Crontab+Shell做Nginx日志切割腳本實(shí)例代碼

2024-08-30 12:25:42
字體:
供稿:網(wǎng)友

平日里,我們需要把 Nginx 的錯(cuò)誤日志輸出到文件里,但是時(shí)間一長,文件就特別大,之前我服務(wù)器上日志就一周沒管它,今天一看日志文件都32個(gè)G了,大的嚇人。于是就寫了個(gè)日志切割的腳本。

原理

其實(shí)日志切割腳本的原理很簡單

    先將原來的日志文件移動(dòng)到指定文件夾中 向 Nginx 發(fā)送 USR1 信號(hào),讓 Nginx 重新加載配置文件 [如果不發(fā)送信號(hào)的話,nginx 還是會(huì)將日志寫到你移動(dòng)的文件里去
#!/bin/bashLOGS_PATH=/home/wwwlogs DATE=$(date +%Y-%m-%d) TIME=$(date +%H)if [ ! -d ${LOGS_PATH}/${DATE}]; then  mkdir ${LOGS_PATH}/${DATE}fimv ${LOGS_PATH}/error.log ${LOGS_PATH}/${DATE}/error_${TIME}.log # 向 nginx 發(fā)送信號(hào),讓其重新加載配置文件kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

上面的代碼其實(shí)挺簡單的,也就是按照日期生成文件夾,再將文件移動(dòng)到新的文件夾中,最后用 Kill 發(fā)送重新加載配置的信號(hào)。USR1 信號(hào)一般是用戶自定義信號(hào),開發(fā)者可以自行定義如何處理該信號(hào),在 Nginx 中就是重新加載了配置。

讓腳本在指定的時(shí)間里跑起來

說到定時(shí)任務(wù),在 Linux 里,沒有比 Crontab 更加大名鼎鼎了。下面簡單介紹下 Crontab 的使用。

啟動(dòng) crontab 服務(wù)

一般是 /sbin/service crond start

查看服務(wù)是否已經(jīng)運(yùn)行

$ ps -ax | grep cron

crontab 命令

crontab -u : 設(shè)定某個(gè)用戶的cron服務(wù),一般root用戶在執(zhí)行這個(gè)命令的時(shí)候需要此參數(shù)

crontab -l : 列出某個(gè)用戶cron服務(wù)的詳細(xì)內(nèi)容 crontab -r : 刪除沒個(gè)用戶的cron服務(wù) crontab -e : 編輯某個(gè)用戶的cron服務(wù)

crontab 語法

小時(shí) 星期 命令
0-59 0-23 1-31 1-12 0-6 command

幾個(gè)特殊符號(hào)的含義: - * 代表取之范圍內(nèi)的數(shù)字 - / 代表每 - - 代表從某個(gè)數(shù)字到某個(gè)數(shù)字 - , 分開幾個(gè)離散的數(shù)字

示例

小時(shí) 星期 命令
5 * * * * ls 指定每小時(shí)的第5分鐘執(zhí)行一次ls命令
30 5 * * * ls 指定每天的 5:30 執(zhí)行l(wèi)s命令
30
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 长岛县| 盱眙县| 荣成市| 太康县| 虞城县| 贵南县| 嘉荫县| 平塘县| 永修县| 武功县| 定襄县| 玉林市| 陈巴尔虎旗| 九龙坡区| 云浮市| 措美县| 武平县| 赤水市| 仲巴县| 镇康县| 正安县| 名山县| 清丰县| 任丘市| 西林县| 彰武县| 太白县| 南宫市| 仙桃市| 抚顺县| 广西| 临沭县| 谷城县| 大关县| 肥西县| 博爱县| 宝坻区| 揭西县| 白银市| 崇阳县| 奇台县|
    1. <style id="lrmzp"><tbody id="lrmzp"><noframes id="lrmzp"></noframes></tbody></style>
          1. <style id="lrmzp"><tbody id="lrmzp"></tbody></style>