欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴永久免費OA]Windows中IIS操作日志自動清理腳本(BAT版/VBS版/JS版)

admin
2023年9月26日 9:24 本文熱度 1518

IIS默認日志記錄在C:\WINDOWS\system32\LogFiles,IIS網站管理器沒有提供自動刪除操作日志功能,時間一長,特別是子站點多的服務器,一個稍微有流量的網站,其日志每天可以達到上百兆,這些文件日積月累會嚴重的占用服務器磁盤空間,有必要對他們進行定期刪除。

 

BAT版

@echo off

title 清理IIS日志文件


:: IIS日志文件目錄

set log_dir="C:\inetpub\logs\LogFiles"


:: 保留日志天數

set bak_dat=15


:: 刪除日志文件

forfiles /p %log_dir% /S /M *.log /D -%bak_dat% /C "cmd /c echo 正在刪除@relpath 文件… & echo. & del @file" 

VBS版

'IIS日志清理VBS版代碼(DelIISLog.vbs)

'調用方法:DelIISLog "IIS日志所在路徑",保留多少天的IIS日志

'遍歷IIS日志文件夾下的所有文件及子文件夾下的文件

Function DelIISLog(IISLogPath,KeepDays)

    on error resume next

    Set oFso = createObject("scripting.FileSystemObject")

    Set oFolder = oFso.GetFolder(IISLogPath)

    Set oSubFolders = oFolder.SubFolders '得到該目錄下所有的文件夾的集合

    Set oFiles = oFolder.Files '得到該目錄下所有的文件的集合

    '第一步處理當前目錄下的所有文件

    For Each oFile In oFiles '遍歷所有文件

        if right(oFile.name,3)="log" then

            oDate=cdate("20" & mid(oFile.name,3,2) & "-" & mid(oFile.name,5,2) & "-" & mid(oFile.name,7,2))

            if date-oDate > KeepDays then oFile.delete '判斷是不是要處理的IIS日志文件,如果是的話直接刪除

        end if

    Next

    '第二步處理當前目錄下的所有目錄,進行遞歸調用

    For Each oSubFolder In oSubFolders

        DelIISLog oSubFolder.Path,KeepDays '遞歸

    Next

End Function

DelIISLog "C:\WINDOWS\system32\LogFiles",180 '遍歷

您可以通過從命令提示符運行以下命令來手動執行此腳本:

cscript.exe c:\path-to-your-scripts\DelIISLog.vbs

JS版

//IIS日志清理JS版代碼(DelIISLog.js)

//調用方法:dellogfile(180),保留多少天的IIS日志

function dellogfile(beforedays)

{    var fso = new ActiveXObject("scripting.FileSystemObject");    var dir = fso.GetFolder("c:\\WINDOWS\\system32\\LogFiles");    //改成你的 IIS 日志目錄    for (var fc = new Enumerator(dir.SubFolders); !fc.atEnd(); fc.moveNext())   {        if (fc.item().name.substr(0,5) == "W3SVC")       {            for (var logfiles = new Enumerator(fc.item().Files); !logfiles.atEnd(); logfiles.moveNext())     {                var fileName = logfiles.item().name;                var year = "20" + fileName.substr(2, 2);                var mouth = fileName.substr(4, 2);                var day = fileName.substr(6, 2);                var days = Math.round(((new Date()).getTime() - Date.UTC(year, mouth - 1, day)) / 1000 / 60 / 60 / 24);                if (days >= beforedays) logfiles.item().delete();            }        }    } } dellogfile(180);//刪除180天前的日志

將以上命令保存成相應后綴的文件:DelIISLog.batDelIISLog.vbsDelIISLog.js,然后放到Windows系統中定時任務里面執行,即可定時清理日志記錄。

使用Windows任務計劃程序,創建一個新任務并將觸發器設置為每天執行(或任何對您有意義的間隔)。創建一個如下所示的新操作:

只需將腳本文件的路徑放在“添加參數”文本框中。

就是這樣!您的日志文件現在將被檢查,您將避免IIS服務器安裝常見的可用磁盤空間的緩慢消耗。 

很多人在問我:

1、Windows Server 計劃任務在哪里配置?

2、Windows Server 可以配置每分鐘或是每小時執行我的任務嗎?

答案是:可以!

首先Windows Server 計劃任務的名稱是“任務計劃程序”不在控制面板里,而是在“管理工具”里。打開“任務計劃程序”–點擊“任務計劃程序庫”在右則會看到操作項里有“創建基本任務”和“創建任務”如圖所示:

點擊“創建任務”后如圖所示:填寫好相應的名稱和勾選好必要的條件

選擇“觸發器”選項,點擊“新建”,創建任務執行時間,“重復任務間隔”這個選擇后,后面有時間選擇,是每小時,還是每分,可自己選擇后再修改時間,再確定。這里我們設置為每天1次即可,時間隨便選一個。

再來配置需要執行的“操作”,就是選擇所寫的程序或是BAT文件,這里很重要的配置是選擇BAT文件后,在“起始于(可選)”這里一定要填寫相應執行程序或是BAT文件的所在目錄,要不然是執行不成功的。

特別說明:我差點被騙了,認為Windows計劃任務是精確不到分鐘級別的,主要是看到“重復時間間隔(P)”右邊沒有“1分鐘”選項,如下圖所示:

其實,它除了下拉選擇外,還可手動修改時間值,比如上面的“1分鐘”!!!

保存時,還會需要提供操作者密碼,提供后保存即可:

添加后,列表欄中會出現添加的計劃任務。


該文章在 2023/9/26 10:24:15 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved