windows下自動刪除過期文件的腳本


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"這樣所有早於2009818日的文件。注意指定的時間必須是"MM/DD/YYYY"的格式。

/c 對所有文件以此執行指定的命令,命令體須在雙引號(")內。

 

補充: 利用windows的任務計划自動重啟tamcat程序: 

  1. 單擊開始按鈕,然后依次選擇程序”→“附件”→“系統工具”→“任務計划(或者是設置”→“控制面板”→“任務計划),啟動添加任務計划

 

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 {} \;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM