最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Crontab+Shell做Nginx日志切割腳本實例代碼

 更新時間:2017年05月03日 08:48:57   投稿:zx  
本篇文章主要介紹了Crontab+Shell做Nginx日志切割腳本實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

原理

其實日志切割腳本的原理很簡單

  1. 先將原來的日志文件移動到指定文件夾中
  2. 向 Nginx 發(fā)送 USR1 信號,讓 Nginx 重新加載配置文件 [如果不發(fā)送信號的話,nginx 還是會將日志寫到你移動的文件里去
#!/bin/bash

LOGS_PATH=/home/wwwlogs 
DATE=$(date +%Y-%m-%d) 
TIME=$(date +%H)

if [ ! -d ${LOGS_PATH}/${DATE}]; then 
 mkdir ${LOGS_PATH}/${DATE}
fi

mv ${LOGS_PATH}/error.log ${LOGS_PATH}/${DATE}/error_${TIME}.log 
# 向 nginx 發(fā)送信號,讓其重新加載配置文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

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

讓腳本在指定的時間里跑起來

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

啟動 crontab 服務

一般是 /sbin/service crond start

查看服務是否已經運行

$ ps -ax | grep cron

crontab 命令

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

crontab -l : 列出某個用戶cron服務的詳細內容 crontab -r : 刪除沒個用戶的cron服務 crontab -e : 編輯某個用戶的cron服務

crontab 語法

小時 星期 命令
0-59 0-23 1-31 1-12 0-6 command

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

示例

小時 星期 命令
5 * * * * ls 指定每小時的第5分鐘執(zhí)行一次ls命令
30 5 * * * ls 指定每天的 5:30 執(zhí)行l(wèi)s命令
30 7 8 * * ls 指定每月8號的7:30分執(zhí)行l(wèi)s命令
30 5 8 6 * ls 指定每年的6月8日5:30執(zhí)行l(wèi)s命令
30 6 * * 0 ls 指定每星期日的6:30執(zhí)行l(wèi)s命令[注:0表示星期天,1表示星期1
30 3 10,20 * * ls 每月10號及20號的3:30執(zhí)行l(wèi)s命令[注:“,”用來連接多個不連續(xù)的時段]
25 8-11 * * * ls 每天8-11點的第25分鐘執(zhí)行l(wèi)s命令[注:“-”用來連接連續(xù)的時段]
*/15 * * * * ls 每15分鐘執(zhí)行一次ls命令 [即每個小時的第0 15 30 45 60分鐘執(zhí)行l(wèi)s命令 ]
30 6 */10 * * ls 每個月中,每隔10天6:30執(zhí)行一次ls命令[即每月的1、11、21、31日的6:30執(zhí)行一次ls 命令。 ]
50 7 * * * root run-parts /etc/cron.daily [ 注:run-parts參數(shù)表示,執(zhí)行后面目錄中的所有可執(zhí)行文件。 ]

用 crontab 執(zhí)行我們的腳本

簡單的了解了下 crontab 后,可以開始用 crontab 來定時執(zhí)行我們的腳本了。

用 crontab -e 打開編輯器

在編輯器中輸入下面內容:

59 23 * * * /home/nginx-cut.sh

上面的意思是,每天的23:59分開始執(zhí)行腳本。 - 保存文件,然后用 crontab -l 就可以看到我們添加的定時任務了

這里需要注意的是,nginx 需要 root 權限向它發(fā)送信號,所以需要在 root 下執(zhí)行 crontab -e

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 使用Nginx進行URL轉發(fā)的配置案例

    使用Nginx進行URL轉發(fā)的配置案例

    Nginx是一個高性能的Web服務器和反向代理服務器,它還可以用于URL轉發(fā),在本教學文章中,我們將從安裝Nginx開始,逐步介紹配置步驟,并展示一個URL轉發(fā)的案例,感興趣的朋友可以參考下
    2023-09-09
  • nginx中path模式配置示例

    nginx中path模式配置示例

    這篇文章主要介紹了nginx中path模式配置示例,nginx服務器默認是不支持pathinfo模式的,需要修改配置才可以實現(xiàn),本文即給出了配置示例,需要的朋友可以參考下
    2014-12-12
  • nginx 內置變量詳解及隔離進行簡單的攔截

    nginx 內置變量詳解及隔離進行簡單的攔截

    這篇文章主要介紹了nginx 隔離進行簡單的攔截詳解的相關資料,這里對nginx內置變量進行了簡單的介紹并對隔離攔截進行了詳解, 需要的朋友可以參考下
    2016-12-12
  • nginx設置上傳目錄無執(zhí)行權限的方法

    nginx設置上傳目錄無執(zhí)行權限的方法

    在windows+iis下,可以設置上傳目錄,類似:upload,uploadfile,attachments,這樣的目錄下面無腳本執(zhí)行權限,從而防止非法用戶上傳腳本得到webshell
    2010-11-11
  • nginx?gzip?動態(tài)靜態(tài)壓縮詳解

    nginx?gzip?動態(tài)靜態(tài)壓縮詳解

    這篇文章主要為大家介紹了nginx?gzip?動態(tài)靜態(tài)壓縮實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • 詳解Nginx限流配置

    詳解Nginx限流配置

    本文以示例的形式,由淺入深講解Nginx限流相關配置,是對簡略的官方文檔的積極補充,感興趣的朋友跟隨小編一起看看吧
    2019-09-09
  • nginx的keepalive相關參數(shù)使用源碼解讀

    nginx的keepalive相關參數(shù)使用源碼解讀

    這篇文章主要為大家介紹了nginx的keepalive相關參數(shù)使用源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Nginx編譯參數(shù)大全 configure參數(shù)中文詳解

    Nginx編譯參數(shù)大全 configure參數(shù)中文詳解

    這篇文章主要介紹了Nginx編譯參數(shù)大全,Nginx configure參數(shù)中文詳解,需要的朋友可以參考下
    2014-04-04
  • 解決nginx服務器上發(fā)布的新版本代碼總需要清除瀏覽器緩存問題

    解決nginx服務器上發(fā)布的新版本代碼總需要清除瀏覽器緩存問題

    這篇文章主要介紹了解決nginx服務器上發(fā)布的新版本代碼總需要清除瀏覽器緩存問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • nginx location匹配實例詳解

    nginx location匹配實例詳解

    這篇文章主要介紹了nginx location匹配實例詳解的相關資料,需要的朋友可以參考下
    2017-06-06

最新評論

三穗县| 贺州市| 阳西县| 英德市| 长子县| 阳江市| 麦盖提县| 红河县| 双辽市| 青神县| 获嘉县| 陕西省| 政和县| 开平市| 远安县| 禹城市| 舒城县| 梨树县| 广平县| 靖远县| 凤阳县| 六枝特区| 桦南县| 措勤县| 齐齐哈尔市| 滨州市| 郓城县| 安义县| 崇信县| 休宁县| 谢通门县| 比如县| 新田县| 壶关县| 常州市| 新化县| 徐州市| 吴江市| 蓬安县| 山东省| 锡林浩特市|