標籤:lib gpo 參數 日誌 linu 圖片 info token 任務
windows下自動刪除到期檔案的指令碼
前言:
比如記錄檔每天都產生,時間長了就會有很大的一堆垃圾。整理一下 定時刪除檔案的方法。
本文:
Windows:
定時刪除tomcat日誌和緩衝。可以保留天數
forfiles /p "e:\Program Files\Tomcat 7.0\logs" /s /m *.log /d -5 /c "cmd /c del @path"
forfiles /p "e:\Program Files\Tomcat 7.0\logs" /s /m *.txt /d -5 /c "cmd /c del @path"
**** 紅色的是目錄。
綠色是以.log和.txt尾碼格式的檔案將會被刪除。
藍色是保留的天數,保留天數之內的日誌和緩衝不會被刪除。
建立一個bat檔案,按需求修改以上的批處理命令,把修改後的命令放入bat檔案, 然後儲存。
再通過系統上的任務計劃,根據需求自訂建立任務,最後系統自動執行任務,達到自動刪除tomcat日誌和緩衝的目的。
補充說明:
在windows server 2003系統中有一個forfiles命令能夠尋找滿足指定條件的檔案,下面是這個命令的用法。
forfiles /p <目標目錄名> /d <天數> /c <執行的命令>
例:forfiles /p "D:bigantlogs" /s /m *.* /d -3 /c "cmd /c del @path"
解釋一下相關參數及命令
/p : 指定開始搜尋檔案的位置,如果不指定則預設為目前的目錄。
/m : 檔案尋找所使用的萬用字元如代碼中的"*.log"則為所有記錄檔,當然也可以指定諸如"manmee_*.log"這樣以manmee開頭的所有記錄檔。如果不指定此參數則預設為"*.*"。
/d [{+|-}][{|}] : 指定想選擇檔案的最後修改時間,上文中用了 "/d -7" 表示所有以當天為基礎,7天以前的檔案。當然這裡還可以指定具體時間,例如:"/d -08/18/2009"這樣所有早於2009年8月18日的檔案。注意指定的時間必須是"MM/DD/YYYY"的格式。
/c 對所有檔案以此執行指定的命令,命令體須在雙引號(")內。
補充: 利用windows的任務計劃自動重啟tamcat程式:
- 單擊“開始”按鈕,然後依次選擇“程式”→“附件”→“系統工具”→“任務計劃”(或者是“設定”→“控制台”→“任務計劃”),啟動“新增工作計劃”。
2.在彈出頁面中,選擇“建立基本任務”,效果如下,輸入名稱、描述。下一步
3.建立觸發器,選擇自動執行這個任務的時間頻率(如每天、每星期、每月、一次性、每次啟動電腦時、每次登入時等),然後單擊“下一步”按鈕。
4.設定此任務計劃需要執行的指令碼或程式(自訂指令碼)。
5.點擊完成,任務完成。可以在該定時任務中查看詳情。
Linux:
定時清理7天前的Tomcat日誌指令碼
#!/bin/bash
logs_path="/tomcat/tomcat-token/logs"
find $logs_path -mtime +7 -name "localhost_access_log.*.txt" -exec rm -rf {} \;
find $logs_path -mtime +7 -name "catalina.*.log" -exec rm -rf {} \;
find $logs_path -mtime +7 -name "manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +7 -name "host-manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +7 -name "fileservice.log.*" -exec rm -rf {} \;
windows下自動刪除到期檔案的指令碼