質問: windows server 2008 R2のIISログを バッチファイルを作成しログファイルを自動で圧縮保存したい 現状 ログファイルをバックアップしている /hoge/W3SVC/ 上記フォルダ内に日々 /1110.log /1109.log とログファイルが保管されている このログファイルを一ヶ月ごとに /1611.zip /1612.zip /1701.zip と自動で圧縮したい 完成形イメージ(過去分は圧縮されており当月分は.logファイルで生成されいく) /1610.zip /1103.log /1102.log /1101.log 上記はイメージですが、やりたい事はバックアップの容量を軽くしつつ保管したいだけです。 現状は自動削除とバックアップコピーはしているのですが、コピー先でlogファイルを一年分ほど保管するので容量を減らしたいのです。 何か方法あれば上記以外のイメージでも構いません あればご教示ください。お願いします
回答: うろ覚えですが、windows server 2008にZIP化するコマンドは標準で備わっていなかったと記憶しております。 何かZIP化するソフトが該当サーバにインストールされておりますでしょうか? 7zipやLhaplusが入っていれば、いいと思います。 また、ファイルの日付判定は、ファイルのプロパティ(更新日付)でよろしいでしょうか。(ファイル名が日付型じゃないようなので。) ざっくりですが、こんな感じで処理はどうでしょうか。 1.サーバ日付(年月)を取得 2.ログフォルダのログファイルを1件ずつ処理、(ループ開始) 3.ログファイルの更新日付がサーバ日付より前(1ヶ月以上前なら)ならファイル名を保持、(201610 < 201611) 4.次のログファイルを処理(2に遷移) 5.圧縮ソフトのEXEファイルを呼び出し、引数に3のファイル名を渡す。(7zipの場合)