linux的伺服器執行服務的時候會產生日誌檔案,如果不管日誌檔案那麼就會占用空間,長期下去會導致伺服器空間不夠,我們應該把不必要的檔案進行刪除
一般配合著定時指令碼去處理,比如每天1點的時候啟動清理服務,清除不需要的日誌,以下就是做的步驟
1.編寫乙個py指令碼(python指令碼),命名為log_clean.py
mkdir log_clean.py
2.在py指令碼(python指令碼)中新增如下:
#!/bin/sh
find /path1/path2 -mtime +1 -name "log_*" -exec rm -rf {} \;
# find 查詢
# /path1/path2/ 要清理的log路徑
# -mtime +1 查詢距離當前1天之前的 如果是 1 就是 距離當前時間正好一天的 如果是 -1 距離當前時間是一天之內的
# -exec 指找到後 執行命令 後面跟具體的命令
# rm -rf{} 刪除命令
# \;這是格式要求的,沒有具體含義。
3 .儲存
:wq
這樣指令碼寫好了,需要但是需要讓它定時啟動這時候需要使用定時器了
4 .檢視定時器任務
crontab -l # 檢視定時器任務
5 .編寫定時器任務
crontab -e # 編寫定時器任務
6 .把這個寫好的刪除log的py指令碼放到定時器指令碼中
0 1 * * * /path1/path2/log_clean.py #每天一點整 執行path1/path2/下的log_clean.py指令碼
使用者所建立的crontab檔案中,每一行都代表一項任務,每行的每個字段代表一項設定,
格式為: minute hour day month week command
它的格式共分為六個字段,前五段是時間設定段,第六段是要執行的命令段,格式如下:
minute: 表示分鐘,可以是從0到59之間的任何整數。
hour:表示小時,可以是從0到23之間的任何整數。
day:表示日期,可以是從1到31之間的任何整數。
month:表示月份,可以是從1到12之間的任何整數。
week:表示星期幾,可以是從0到7之間的任何整數,這裡的0或7代表星期日。
command:要執行的命令,可以是系統命令,也可以是自己編寫的指令碼檔案。
比如 0 1 * * * /path1/path2/log_clean.py 對應的就是 0 分鐘 1 點 執行/path1/path2/log_clean.py命令
可以通過下圖理解:
參考的文件:
定時清理日誌檔案的指令碼
usr bin python coding utf 8 import os import os.path,time,datetime logdir opt 日誌檔案所在的路徑 for parent,dirname,filenames in os.walk ogdir for filename in ...
Python編寫簡易指令碼檔案
選用了nodepad進行編寫 最後儲存成 x.py格式即可,同理記事本啊什麼的也可以,對接nodepad editplus之類 usr bin env python3 age int input age of the dog print if age 0 print this can hardly ...
Tomcat日誌檔案定時清理備份的指令碼
以下指令碼主要備份的日誌檔案為tomcat的catalina.out localhost access log.yyyy mm dd.log日誌和專案的日誌檔案,其中專案的日誌檔案格式為 projectname yyyy mm dd.log 以下為備份指令碼,具體的操作都有相應的注釋,供大www.c...