1.刪除檔案命令:find 對應目錄 命令選項
例項命令
find /export/logs/ -type f -name "*log*" -mtime +3 -exec rm -rf {} \;
將/export/logs/目錄下所有30天前帶".log"的檔案刪除。具體引數說明如下:
find:linux的查詢命令,使用者查詢指定條件的檔案;
/export/logs/:想要進行清理的任意目錄;
-type f代表檔案 d代表目錄
-mtime:標準語句寫法;+30:查詢30天前的檔案,這裡用數字代表天數;
"*log*":希望查詢的資料型別,"*.jpg"表示查詢擴充套件名為jpg的所有檔案,"*"表示查詢所有檔案,這個可以靈活運用,舉一反三;
-exec:固定寫法;
rm -rf:強制刪除檔案,包括目錄;
{} \; :固定寫法,一對大括號+空格+\+;
-size 查詢符合大小的檔案;
2.計畫任務:
建立shell指令碼 vi auto-del-log.sh
#!/bin/bash
find /export/logs/ -type f -name "*log*" -mtime +3 -exec rm -rf {} \;
find /export/logs/ -type f -name "*log*" -size +100m -exec rm -rf {} \;
新增可執行許可權 chmod +x auto-del-log.sh
3 設定定時任務
crontab -e
0 1 * * * auto-del-log.sh 每天凌晨一點執行auto-del-log.sh指令碼
檔案/etc/crontab中每行任務的描述格式如下:
minute hour day month dayofweek command
minute - 從0到59的整數
hour - 從0到23的整數
day - 從1到31的整數 (必須是指定月份的有效日期)
month - 從1到12的整數 (或如jan或feb簡寫的月份)
dayofweek - 從0到7的整數,0或7用來描述週日 (或用sun或mon簡寫來表示)
command - 需要執行的命令(可用as ls /proc >> /tmp/proc或 執行自定義指令碼的命令)
* 代表任意值 */5 代表沒五個單位時間執行一次
Linux系統實現log日誌自動清理
在實際專案中由於伺服器記憶體有限,人工制定的定時清理時常會忘記。因此啟用linux系統定時任務去執行日誌清理功能。引用文獻 touch auto del log.sh 建立指令碼檔案 cd 進入該目錄 chmod x auto del log.sh 修改執行許可權vi auto del log.sh...
Linux 系統實現log日誌自動清理
linux系統實現log日誌自動清理 body body first child body last child p,blockquote,ul,ol,dl,table,pre h1,h2,h3,h4,h5,h6 h1 tt,h1 code,h2 tt,h2 code,h3 tt,h3 code,h...
Ubuntu系統自動清理日誌或檔案
程式執行中可能會一直儲存log檔案,長此以往會逐漸填滿硬碟空間,造成系統崩潰。人為定期去刪除檔案,也是費時費力還容易遺忘 我們希望電腦能定期的,自動刪除我們不需要的檔案。所要用到的,就是crontab 定時任務。做這件事情的步驟就兩個 寫乙個能自動查詢檔案並刪除檔案的指令碼 使這個指令碼能夠定時被執...