背景:在軟體配置管理的備份工作中,本機備份或異機備份都會遇到乙個問題,就是備份檔案越來越大,越來越多,硬碟容量空間是有限的,不可能將每天的備份檔案都保留在硬碟上,因此自然會想到只保留近幾天的備份檔案。這時,如何定期刪除某天前的檔案就成了備份工作中的乙個環節了。以下就是其中一種方案:
方案說明:通過系統cmd命令來編寫批量刪除某天前的檔案bat檔案,然後通過系統的計畫任務來實現定期刪除的功能。ps:windows server 2008系統
語句:forfiles /p f:\rd_backup\git_data_backup /d -3 /s /m *.gz /c "cmd /c del /f @path"(注意:可以編寫多條語句來實現批量刪除。)
解釋:forfiles [/p path ] [/m searchmask ] [/s ] [/c command ] [/d ]
引數/p path
指定path ,表明要從**開始搜尋。預設的資料夾是當前工作目錄,該目錄通過鍵入句號(.) 指定。
/m searchmask
按照searchmask 搜尋檔案。預設的searchmask 是*.* 。
/s指示forfiles 在子目錄中搜尋。
/c command
在每個檔案上執行指定的command 。帶有空格的命令字串必須用引號括起來。預設的command 是"cmd /c echo @file" 。
/d
選擇日期大於或等於(+ )(或者小於或等於(- ))指定日期的檔案,其中mm / dd / yyyy 是指定的日期,dd 是當前日期減去dd 天。如果未指定+ 或- ,則使用+ 。dd 的有效範圍是0 - 32768。
/?在命令提示符下顯示幫助。
在控制面板找到任務計畫,執行任務計畫嚮導
然後根據介面說明完成設定即可
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...
刪除指定目錄下指定日期格式前的檔案
刪除指定目錄下指定日期格式前的檔案 param dir 目錄 param date 時間 param flag true false 按照名字刪除 名稱必須是字串格式 按照最後修改日期刪除 param namedate 名字的日期格式串 return true false 刪除成功 失敗 publi...