維護專案過程中,一次注意到虛擬主機突然宕機了,檢視了下,c盤只有幾十兆大小,進一步查詢問題,發現"c:/windows/system32/logfiles/w3svc1/"下有幾十g的日誌檔案,網路查詢了下,原來是虛擬主機的日誌檔案常時間得不到清理,佔據了磁碟空間,導致程式崩盤.
也是通過網路查詢了iis日誌檔案清理的問題,iis日誌清理專題,cmd版,vbs版,js版,wsh版
@echo off
::設定要刪除當前日期前多少天的資料
::給變數beforeday賦值前加上引數 /a ,表示變數beforeday可用於計算
set /a beforedays=-2
::設定目錄所在位置,預設情況下是在:%windir%/system32/logfiles/w3svc1/
set dir="c:/windows/system32/logfiles/w3svc1/"
::當前日期轉換為天數,%date:~0,10%表示取date變數從位置0開始10位長度,結果為:2010-03-16
call :date2day %date:~0,10% days
::計算要刪除日期所對應的天數,若%days%結果為20456,則days=%days%%beforedays%結果為20454
set /a days=%days%%beforedays%
::將要刪除日期所對應的天數轉換為對應的日期,結果為:20100314
call :day2date %days% lastdate
::計算完畢,生成想要的字元組合,%lastdate:~2,6%為100304,最終拼的結果為ex100314.log
set okstr=ex%lastdate:~2,6%.log
::刪除這些檔案
del /f /s /q %dir%/%okstr%
cmd /k
::日期轉換為天數的函式,%1表示%date:~0,10%,%2表示days
:date2day
setlocal enableextensions
for /f "tokens=1-3 delims=/.- " %%a in ('echo/%1') do (
set yy=%%a & set mm=%%b & set dd=%%c
)set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633
endlocal&set %2=%j%&goto :eof
::天數轉換為日期的函式,%1表示%days%,%2表示lastdate
:day2date
setlocal enableextensions
set /a i=%1,a=i+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a
set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5
set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10
(if %mm% lss 10 set mm=0%mm%)&(if %dd% lss 10 set dd=0%dd%)
endlocal&set %2=%yy%%mm%%dd%&goto :eof
IIS日誌清理(VBS版,JS版)
iis預設日誌記錄在c windows system32 logfiles,時間一長,特別是子站點多的伺服器,乙個稍微有流量的 其日誌每天可以達到上百兆,這些檔案日積月累會嚴重的占用伺服器磁碟空間。有必要對他們進行定期刪除。測試了一下網路上收集來的日誌清理指令碼,記錄一下。自動清除日誌目錄下所有日誌...
IIS日誌自動清理
iis在執行的過程中日誌會不停地增長,若iis的 被頻繁的呼叫或不當的呼叫,則會產生很多日誌。對於系統盤或者磁碟空間不夠的伺服器來說。iis日誌自動清 理則非常有必要。指令碼如下 1,檔名 rmiislog.js 指令碼內容 function dellogfile beforedays dellog...
IIS日誌檔案清理
如何清除iis日誌以釋放空間 開啟 我的電腦 發現10gb容量的c盤只剩餘355mb 可用空間 已經嚴重不夠用。如下圖 如果伺服器的管理員並沒有在c盤儲存大容量檔案,而iis中站點的訪問量又非常大,那麼c盤的磁碟容量有90 的可能性是被iis日誌記錄檔案占用了。iis存放日誌檔案的預設儲存路徑是c ...