linux定时删除文件,如何操作Linux 定时删除指定目下N天前的文件
轉載:http://www.51testing.com/html/74/n-3725074.html?
?做測試的童鞋相信對Linux這個系統不陌生吧,若不及時清理某些文件,長時間運行下去,系統也會吃不消的呢?正好,前幾天在網上看到一篇文章【給 Linux 下的 rm 命令添加個“回收站”】一文來實現對 rm 命令的安全防護,但是這樣“回收站”文件夾會隨著使用 rm 命令的時間越來越占據容量,這明顯是不科學的,所以應該有個智能的解決辦法,那就是可以自動定時的清除指定某個時間段之前文件,幾天就來詳細說說如何實現。
請點擊此處輸入圖片描述
可以利用Linux的crontab定時任務來實現這樣的需求,具體命令如下:
* 6 * * * find /root/home/zhang/* ctime 1 -exec rm -rf {} \;
表示每天早上六點刪除/root/home/zhang目錄下一天前創建的所有文件,不刪除文件夾zhang,如果這個文件夾也要刪除的話用
* 6 * * * find /root/home/zhang ctime 1 -exec rm -rf {} \;
* 6 * * *釋義:
第一個*號表示時間中的 分鐘 取值范圍:0-59
第二個*號表示時間中的 小時 取值范圍:0-23
第三個*號表示一個月中的第幾天,取值范圍:1-31
第四個*號表示一年中的第幾個月,取值范圍:1-12
第五個*號表示一個星期中的第幾天,以星期天開始依次的取值為0~7,0、7都表示星期天
ctime 表示創建時間,1 表示一天前,其實Linux中不存在文件創建時間,只有訪問時間(atime)、修改時間(mtime)、狀態改動時間(ctime) 。
可以通過命令 stat + 文件路徑 查看時間
也可通過命令 touch -t 201212212359 aa (建立文件aa,時間是2012年12月21日23時59分)修改時間
若是刪除目錄下的指定文件可以用:
find 對應目錄 -mtime +天數 -name "文件名" -exec rm -rf {} \;
寫好了命令,下面就是啟動定時任務了。
首先要創建一個crontab,輸入命令crontab -e 進入編輯界面,編寫你的定時任務,即上面的命令。
也可以不使用crontab -e命令創建crontab配置文件,其他任何文本編輯器編寫命令序列,比如文件名為abc.cron,然后使用命令:crontab abc.cron將命令序列添加到crontab中。
創建好crontab之后,就可以把上面的命令寫道 /etc/crontab這個文件中
通過 crontab /etc/crontab 命令啟動這個定時任務,可以通過 crontab -l 命令查看當下的定時任務
為保險起見,最好再重啟服務,之后查看下crontab的服務狀態
命令如下:
查看crontab服務狀態:service crond status
/sbin/service crond start //啟動服務
/sbin/service crond stop //關閉服務
/sbin/service crond restart //重啟服務
/sbin/service crond reload //重新載入配置
基本流程就是這樣。
不得不嘆服,Linux命令行的強大呀! Windows 下的回收站功能在Linux下就是這容易就實現了!還多了個智能定時清理“回收站”的功能!嘿嘿,比 Windows 的回收站好用多了!
總結
以上是生活随笔為你收集整理的linux定时删除文件,如何操作Linux 定时删除指定目下N天前的文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue解决无数据图片闪现的问题
- 下一篇: 读书随笔《活着》