linux刪除shell和定時任務
刪除shell
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} ;
- 1
說明:
將/opt/soft/log/目錄下所有30天前帶」.log」的文件刪除。具體參數說明如下:
find:linux的查找命令,用戶查找指定條件的文件;
/opt/soft/log/:想要進行清理的任意目錄;
-mtime:標準語句寫法;
+30:查找30天前的文件,這裡用數字代表天數;
-name: 固定寫法;
「.log」:希望查找的數據類型,」.jpg」表示查找擴展名為jpg的所有文件,」*」表示查找所有文件,這個可以靈活運用,舉一反三;
-exec:固定寫法;
rm -rf:強制刪除文件,包括目錄;
{} ; :固定寫法,一對大括弧+空格++;
定時任務
新建文件 shell 文件auto-del-30-day-log.sh 在home/test/bin目錄下
touch auto-del-30-day-log.sh
vi auto-del-30-day-log.sh
- 1
- 2
把
find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} ;
- 1
寫進去
crontab -e 這個指令 i,進入shell腳本編輯狀態
10 0 * * * /home/test/bin/auto-del-30-day-log.sh>/dev/null 2>&1
- 1
「/dev/null 2>&1」表示先將標準輸出重定向到/dev/null,然後將標準錯誤重定向到標準輸出,由於標準輸出已經重定向到了/dev/null,因此標準錯誤也會重定向到/dev/null,這樣日誌輸出問題就解決了。
10 0 * * * 表示每天0點10分執行這個刪除腳本
分 小時 日 月 星期
0-59 0-23 1-31 1-12 0-6
特殊符號:* 範圍的所有數字, / 每 , - 範圍 , 『,』集合
每隔30分鐘,每天晚上的凌晨3點-5點:/30 3-5 * *
每30分鐘執行一次任務 /30 * * *
使用crontab -l 查看當前用戶下正在執行的定時任務
crontab -l
- 1
最最重要的一點,如果全部可以但是就是未見執行,要考慮當前用戶是否有操作shell腳本的許可權
賦權
chmod 777 auto-del-30-day-log.sh
※自定義標籤源碼分析
※Kubernetes 最佳實踐:正常終止
TAG:程序員小新人學習 |