要怎麼處理?
簡單!運用find指令(註:example 1)就行。
先利用find執行一下掃檔檢視的功能,成功找到想砍的檔案群之後,
再變化一下指令(註:example 2),寫成簡單的script,放給cron執行就成了!
example 1:
find /find-path -type f -mtime +120 -exec ls -lhrt {} \;
找出120天以上的舊檔案!
example 2:
find /find-path -type f -mtime +120 -exec rm -f {} \;
找出120天以上的舊檔案,並且砍掉!
OK!談談在windows 系統下怎麼辦到這鳥事。
以下source code 擷取自 jerry_IT資訊技術手扎
內容存成 DelFiles.vbs 即可點點(滑鼠動作)執行,刪除三天以上,放在E:\Temp裡的檔案!
+=========================================================+
Option Explicit
WScript.Echo("作業開始執行:" & Date & " " & Time)
Dim FSO, agoDays, modifiedDate, delFolder
' 指定 n 天前的檔案,現在是 3 天前
agoDays = 3
' 欲刪除檔案所在之目錄
delFolder = "E:\Temp"
' == 結束 ==
' 建立檔案系統物件(File System Object)
Set FSO = CreateObject("Scripting.FileSystemObject")
' 取得檔案的修改日期
modifiedDate = DateAdd("d", -agoDays, Date)
' 呼叫刪除檔案的子程序
DelFilesInFolder FSO.GetFolder(delFolder)
' 刪除檔案的子程序
Sub DelFilesInFolder(folder)
' 宣告變數
Dim file, subFolder
' 找出目前所在目錄內所有的檔案
For Each file In folder.Files
' 檢查檔案日期是否符合條件,若符合,就刪除
If ((file.DateLastModified <= modifiedDate)) Then
file.delete
End If
Next
' 如果遇到子目錄,也要進去檢查並刪除
For Each subFolder in folder.SubFolders
DelFilesInFolder subFolder
Next
End Sub
WScript.Echo("作業執行完畢:" & Date & " " & Time)
+=========================================================+我查了其他相關的資料,加上上述原文討論區。
(資料來源據說在IThome,http://ithelp.ithome.com.tw/question/10009001)
發現上述的VB script CODE 是最簡潔的,而JerryIT的說明也算够清楚了。
有沒有發覺到,windows 的系統對視覺化操作的設計很人性化,
只要你開檔案總管,點選檔案,滑鼠右鍵,刪除(或是直接按Delete鍵)!
但是對IT管理的技術人員嘛……
我之所以喜歡 Linux ,真的是不沒憑沒據的!
1 則留言:
I am glad that is useful.
張貼留言