これは、David のスクリプトを基本的に適応させ、先月のログを圧縮して移動し、元のログ ファイルを削除するスクリプトです。これは、Apache ログにも適用できます。これに関する唯一の問題は、DOS の日付関数が曜日を出力する場合、置換コマンドを編集する必要がある場合があることです。7-zip もインストールする必要があります。
IISlogslite をダウンロードすることもできますが、毎日のファイルが 1 つの zip ファイルに圧縮されますが、これは役に立ちませんでした。同じことを行う vbscript が Web に浮かんでいます。
-------------------------------------------------- -----------------------------------
@エコーオン
:: 名前 - iislogzip.bat
:: 説明 - サーバー ログ ファイル マネージャー
::
:: 歴史
:: オーソリ変更日
:: 2008 年 8 月 27 日 David Crow オリジナル (スタック オーバーフローで発見)
:: 2008 年 10 月 15 日 AIMackenzie スリム化されたコマンド
:: =============================================== ========
:: 変数とパラメータの設定
:: =============================================== ========
:: 日付と時刻の変数を生成する
月を設定=%DATE:~3,2%
年を設定=%DATE:~8,2%
::前月を取得してエッジの状態を確認
set /a lastmonth=%month%-1
if %lastmonth% eq 0 set /a year=%year%-1
if %lastmonth% eq 0 set lastmonth=12
if %lastmonth% lss 10 set lastmonth=0%lastmonth%
yymm=%年%%先月%に設定
set logpath="C:\WINDOWS\system32\LogFiles"
set zippath="C:\Program Files\7-Zip\7z.exe"
set arcpath="C:\WINDOWS\system32\LogFiles\WUDF"
:: =============================================== ========
:: ログファイルパスに変更
:: =============================================== ========
cd /D %logpath%
:: =============================================== ========
:: 先月の IIS ログ ファイルを圧縮し、圧縮したファイルをアーカイブに移動します
:: 古いログを削除します
:: =============================================== ========
%zippath% a -tzip ex%yymm%-logs.zip %logpath%\ex%yymm%*.log
move "%logpath%\*.zip" "%arcpath%"
del %logpath%\ex%yymm%*.log