RAK部落:linux 定時刪除30天前的文件

發布于: 2019-11-12 11:05

前段時間,有朋友詢問RAK部落博主linux如何定時刪除30天前的文件?關于這個功能的使用在各大平臺上也是眾說紛紜,那么就這個問題我們來具體操作一下linux如何定時刪除30天前的文件。

首先:刪除文件命令:

可以使用find命令
find 路徑 -mtime +天數 -type f -name “文件名” -exec rm -rf {} \;

find /data/raw/ -mtime +30 -type f -name “*” -exec rm -rf {} \;  詳細說明

find:linux的查找命令,用戶查找指定條件的文件;
/data/raw/:想要進行清理的任意目錄;
-mtime:標準語句寫法;
+30:查找30天前的文件,這里用數字代表天數;
“*.log”:希望查找的數據類型,”*.jpg”表示查找擴展名為jpg的所有文件,”*”表示查找所有文件,這個可以靈活運用,舉一反三;
-exec:固定寫法;
rm -rf:強制刪除文件,包括目錄;
{} \; :固定寫法,一對大括號+空格+\+;

其次:計劃任務:

若嫌每次手動執行語句太麻煩,可以將這語句寫到一個可執行shell腳本文件中,再設置cron調度執行,那就可以讓系統自動去清理相關文件。

1)創建shell:

新建一個可執行文件auto-del-30-days-ago-log.sh


vi  auto-del-30-days-ago-log.sh
編輯auto-del-30-days-ago-log.sh文件如下:
#!/bin/sh
find /data/raw/ -mtime +30 -name “*.log” -exec rm -rf {} \;
保存退出(:wq)

2)分配可運行權限

chmod +x auto-del-30-days-ago-log.sh

3)計劃任務:
#crontab -e
將auto-del-30-days-ago-log.sh執行腳本加入到系統計劃任務,到點自動執行
輸入:
10 0 * * * /home/ubuntu/auto-del-30-days-ago-log.sh >/dev/null 2>&1????

注意crontab使用絕對路徑此次示例路徑在:#pwd?? #/home/ubuntu/
這里的設置是每天凌晨0點10分執行auto-del-30-days-ago-log.sh文件進行數據清理任務

RAK部落小編根據linux系統設置了一下這個功能,到這就結束了,有沒有幫到你呢?如果還有別的觀點或者疑問請在下方評論,看到會第一時間處理。

此文章來自固定鏈接:http://www.shudianwangzu.com/p114

原文鏈接:,轉發請注明來源!

發表評論

要發表評論,您必須先登錄。