linux自動刪除日誌SH 腳本

 

1.刪除文件命令:linux

find 對應目錄 -mtime +天數 -name "文件名" -exec rm -rf {} \;shell

實例命令:vim

find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;bash

說明:spa

將/opt/soft/log/目錄下全部30天前帶".log"的文件刪除。具體參數說明以下:日誌

find:linux的查找命令,用戶查找指定條件的文件;crontab

/opt/soft/log/:想要進行清理的任意目錄;圖片

-mtime:標準語句寫法;開發

+30:查找30天前的文件,這裏用數字表明天數;get

"*.log":但願查找的數據類型,"*.jpg"表示查找擴展名爲jpg的全部文件,"*"表示查找全部文件,這個能夠靈活運用,觸類旁通;

-exec:固定寫法;

rm -rf:強制刪除文件,包括目錄;

{} \; :固定寫法,一對大括號+空格+\+;

2.1建立shell:

touch /home/admin/logs/bin/auto-del-30-days-ago-log.sh

chmod +x auto-del-30-days-ago-log.sh

2.2編輯shell腳本:

 

vim auto-del-30-days-ago-log.sh

編輯auto-del-30-days-ago-log.sh文件以下:(目錄結構爲舉例)


 #!/bin/bash
 find /日誌目錄/  -mtime +30 -name "*.log" -exec rm -rf {}\;
 

 

2.3計劃任務:

執行:crontab -e 命令,把下面內容之一,經過vim命令編輯保存退出

(每隔兩小時刪除日誌)

0 */2 * * * /home/admin/logs/bin/auto-del-30-days-ago-log.sh >/dev/null 2>&1

(每隔15分鐘刪除日誌)

15,30,45,59 * * * * /home/admin/logs/bin/auto-del-30-days-ago-log.sh  >/dev/null 2>&1

 

 

2.4查看計劃任務是否運行:crontab -l

 

附:

 

看看crontab 的時間表達式


基本格式 : *  *  *  *  *  command
分 時 日 月 周 命令 命令

圖片描述

而後來幾個實際的例子:

 

一、每分鐘執行一次

 

* *  * *  *

二、每隔一小時執行一次        

00 *  * *  *

或者

* */1 * * * (/表示頻率)


三、每小時的15和30分各執行一次
15,45 * * * * (,表示並列)

四、在天天上午 8- 11時中間每小時 15 ,45分各執行一次
15,45 8-11 * * * command (-表示範圍)

五、每一個星期一的上午8點到11點的第3和第15分鐘執行
3,15 8-11 * * 1 command

六、每隔兩天的上午8點到11點的第3和第15分鐘執行
3,15 8-11 */2 * * command

後續有不少開發填坑的文章發佈,若是對你有幫助,請支持和加關注一下

http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944

https://shop119727980.taobao.com/?spm=0.0.0.0 

相關文章
相關標籤/搜索