linux刪除之前的文件日誌
linux下每天都在產生LOG日誌文件,如果不定期刪除,遲早擠爆硬盤,如果手動刪除,幾次可以,不是長久之計。這些事交給Linux系統就可以解決。
試驗環境:
系統:CentOS 6.5 x64
測試路徑、測試文件名、測試時間(2017-06-05)
執行命令:
# find /root/Text -mtime +3 -name "log.*" -exec rm -f {} \;
命令解釋:
find 查找命令
/root/Text 查找路徑
-mtime 文件最後修改時間
+3 3天前(或理解成從命令執行當前日期開始,當天不算,保留3個文件)
-name 查詢方式為查詢文件名
"log.*" 查找log開頭後面為任意長度字符的文件(不明白可以找“正則表達式”教程看看)
-exec 固定寫法
rm -f 符合條件的執行刪除並不提示
{} 固定寫法,註意左右有空格
\; 固定寫法,註意左右有空格
-mtime說明一下,Linux中的文件的時間屬性只有三個:
atime(Access time) 文件最後訪問時間。
mtime(Modified time) 文件最後修改時間。
ctime(Change time) 文件最後修改權限時間。(比如執行過chmod)
用stat命令來看看文件詳細信息,find會找到文件的Modified時間作為參數。
# stat log.2017-06-01
有人註意到,文件名是06-01,但是顯示時間是06-05,怎麽回事。因為可以用"touch -d"命令來修改Modified,現在將文件修改回原來日期06-01。
# touch -d "21:55 06/01/2017" log.2017-06-01 或 # touch -d 06/01/2017 log.2017-06-01
上面命令第一個是時間和日期都修改,下面那個是只修改日期。
另外也可以單獨修改時間或者月份,如下
以使用 am, pm 或是 24 小時的格式,日期可以使用其他格式如 6 May 2000 。
touch -d "6:03pm" file touch -d "05/06/2000" file touch -d "6:03pm 05/06/2000" file
touch -d "2017-05-31 08:10:30" test.doc 同時修改文件的修改時間和訪問時間 touch -m -d "2017-05-31 08:10:30" test.doc 只修改文件的修改時間 touch -a -d "2017-05-31 08:10:30" test.doc 只修改文件的訪問時間
上面find命令,寫好了我們加入系統自動執行。命令:
# crontab -e
打開後和操作vi編輯軟件一樣(因為crontab默認就是用vi來編輯的)
# crontab -l
列出內容,定義淩晨2點執行。
參考文章:
http://blog.csdn.net/maqingli20/article/details/7195408
https://zhidao.baidu.com/question/342860050.html
http://www.linuxidc.com/Linux/2015-11/124813.htm
http://www.2cto.com/os/201203/122934.html
本文出自 “悟透的雜貨鋪” 博客,請務必保留此出處http://wutou.blog.51cto.com/615096/1932446
linux刪除之前的文件日誌