Shell定時刪除指定時間之前的文件

最近世界盃來了,一直忙於工作和世界盃之間,都沒有空來管管我的blog了,今天只能整個簡單的小shell給大家了.公司要求刪除一個月之前的備份文件,免得把硬盤給整爆了,上服務器看了下,居然都有3個月的備份沒有清理了,還好是sql備份,不然硬盤空間早就滿了.

下面是我的解決辦法:

複製代碼代碼如下:

cat delbak.sh
#!/bin/sh
location="/root/sqlbak/"
find $location -mtime +30 -type f |xargs rm -f

ps:

location 是設置查找的目錄
--mtime +30 是設置時間爲30天前
-type f 這周查找的類型爲文件

然後加入crontab定時來刪除:

複製代碼代碼如下:

crontab -l
10 4 1 * * /bin/sh /root/soft_shell/delbak.sh

設定爲每個月1號晚上4點10分執行腳本.當然你也可以根據你自己的需求去整.

相同的刪除方法:

複製代碼代碼如下:

find /root/sqlbak -mtime +30 -type f -name *.gz -exec rm -f {} \;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章