Crontab 自動刪除指定日期前檔案或者資料夾

2021-10-08 22:09:58 字數 1030 閱讀 4382

編寫自動定時刪除的指令碼

vim deletem.sh
新增如下內容,記得給指令碼deletem.sh設定許可權。

#!/bin/bash

starttime=$(date +

%y-%m-%d\ %h:%m:%s)

#刪除/home/czz/資料夾下 二天前的檔案

#這個命令刪除不掉資料夾 不知道為什麼???

find /home/czz/

-mtime +2 -

type f | xargs rm

-rf#重新加上了資料夾包含的名稱之後就可以刪除掉了

#刪除/hone/czz/資料夾下 二天前的資料夾名稱包含seq的資料夾

find /home/czz/

-mtime +2 -name "*seq*"

| xargs rm

-rfecho

$starttime 任務被調起來……

把任務加到linux 自帶的crontab 定時任務中

crontab命令介紹及相關資料點我檢視

檢視當前的crontab 中有哪些任務,下圖是沒設定任務。

crontab中新增任務,進入到vi 模式把自己需要新增的任務加入即可。

每月1號執行,上面編寫的指令碼,把刪除的日期列印到指定路徑下的crontab.log裡面,如果crontab.log不存在會自動建立。

具體是定時執行設定到那個時間點上,可以自由設定,下面指令碼裡面的前五位。

0 0 1 *

*/home/cz/shell/deletem.sh >> /home/cz/shell/crontab.log 2>&1

shell指令碼刪除指定日期和指定日期前的檔案

測試環境redis持久化到硬碟報錯,發現是因為硬碟空間不夠導致。去尋找占用空間較大的任務,發現flink日誌檔案佔了70 容量,在此之前在測試環境沒有對flink日誌進行維護和刪除。為了以後自動維護日誌檔案,需要寫乙個能夠定時執行任務的shell指令碼。思路 每日凌晨執行指令碼,刪除一周之前的那一天...

mysql刪除指定日期前資料

由於資料上報產生資料量過大,因此需要定期刪除無用資料。mysql語句如下 1 delete from t iot cb device data changed where event time is null or date event time date date sub now interval...

刪除大於指定日期的檔案

刪除大於30天的檔案 find opt backup type f mtime 30 delete或者 find opt backup type f mtime 30 exec rm rf 刪除大小為0的檔案 find opt backup size 0 exec rm i type f 表示只找出...