激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - Crontab+Shell做Nginx日志切割腳本實例代碼

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

2019-11-26 16:56zx Nginx

本篇文章主要介紹了Crontab+Shell做Nginx日志切割腳本實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

原理

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

  1. 先將原來的日志文件移動到指定文件夾中
  2. 向 Nginx 發送 USR1 信號,讓 Nginx 重新加載配置文件 [如果不發送信號的話,nginx 還是會將日志寫到你移動的文件里去
?
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/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 發送信號,讓其重新加載配置文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

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

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

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

啟動 crontab 服務

一般是 /sbin/service crond start

查看服務是否已經運行

?
1
$ ps -ax | grep cron

crontab 命令

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

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

crontab 語法

 

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

 

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

示例

 

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

 

用 crontab 執行我們的腳本

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

用 crontab -e 打開編輯器

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

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

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

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

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

原文鏈接:http://ghost.icosplay.cc/2017/05/02/crontab-shell-zuo-nginx-ri-zhi-qie-ge-jiao-ben/?utm_source=tuicool&utm_medium=referral

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 色呦呦一区二区三区 | 久久国产中文 | 免费观看高清视频网站 | 毛片一级免费看 | 欧美日韩亚洲不卡 | 国产成人精品二区 | 久久久久久久久久久久免费 | 久久精品片 | 亚洲午夜久久久精品一区二区三区 | 久久久裸体视频 | 舌头伸进添的我好爽高潮网站 | 视频一区二区三区在线观看 | 久久羞羞视频 | 曰本三级日本三级日本三级 | 国产成人精品一区二区三区电影 | 亚洲视频综合网 | 日韩视频1| 欧美成人久久 | 欧美色视频免费 | 美女喷水网站 | 91 免费看片| 久久亚洲国产精品 | chinese军人gay呻吟 | 色综合视频| 一区二区高清视频在线观看 | 国产精品色在线网站 | japanese xxxxhd| 91成人免费网站 | 中文字幕在线播放第一页 | 天天都色视频 | 久在线观看 | 亚洲特黄a级毛片在线播放 激情视频免费看 | av手机免费在线观看 | 欧美精品电影一区二区 | videos韩国 | 欧美国产一区二区三区 | 精品成人久久久 | 在线免费观看日韩视频 | 久久成人国产精品 | 亚洲小视频在线 | 中文字幕亚洲欧美 |