crontab 正規表示式清理檔案的乙個小坑

2021-08-26 05:46:08 字數 583 閱讀 1293

應用經常會有日誌定時清理需求,清理規則一般為某個資料夾下包含某些欄位的檔案,如:

0 2 * *

* su - user01 -c "/bin/sh /tmp/autoclear.sh /xeonlnas/log/ *-* 5"

寫到crontab後表示,每天凌晨2點,清理user01使用者下的/xeonlnas/log/目錄下的包含-的檔案,保留時間是5天,主要的清理工作是autoclear.sh指令碼做的,他需要3個核心引數,分別是需要清理的資料夾,清理的檔案正則匹配表示式,檔案保留日期

/xeonlnas/log/目錄下包含有-的檔案,但是第二天應用發現對應的檔案並沒有被清理掉

後面被大神點撥:

在shell使用正規表示式-不加單引號,會優先被shell的glob匹配,如果當前工作目錄有a-b, log-2018類似格式的檔案,都被匹配到。導致傳遞給autocleartime.sh 的引數數量和名稱不正確

因此給正則匹配表示式加個引號就能實現檔案清理啦!

正規表示式清理日誌

字段提取中正規表示式的使用 提取日誌中的資訊格式 欄位名稱 匹配具體資訊的正規表示式 日誌樣例 78 2019 08 21t17 10 01.461970 08 00 localhost crond root cmd usr lib64 sa sa1 1 1 正規表示式 d s s s s s s ...

正規表示式 火星文

之前在學習到正規表示式的時候,真的看了兩秒直接就跳過了,真的看到都怕,來自地球的我表示真的看不懂這個傳說中的火星文,但是,要想學習到更多的知識,我深知逃避是解決不了問題的,於是我硬著頭皮嘗試的去理解它,今天簡單記錄下來,以供以後來鄙視 正則表達是其實就是規則表示式,就是我們要找的條件翻譯成計算機能讀...

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...