2011-08-02 2 views
47

IIS 7に、指定した日数より古いログファイルを自動的に削除する機能はありますか?IIS 7ログファイルの自動削除?

これは、スクリプトを作成して(週に1回実行する)、またはWindowsサービスで行うことができますが、inbuiltなどの機能があるのか​​不思議でした。

また、大量のスペースを積み上げているため、現在はログオフしています。それは問題だろうか?

+0

私が知っているわけではありません。 PowerShellスクリプトを使用して、それらを圧縮してアーカイブします。ログファイルは、請求の統計やハッキングの調査などのために役立つことがあります。 –

+0

upvotes、お気に入り、および回答については、これは明らかにトピックではなく、[Server Fault](http://serverfault.com)に属しています。 –

答えて

90

管理ツール>タスクスケジューラを使用して毎日実行するタスクを作成できます。

次のコマンドを実行するために、あなたのタスクを設定します。

forfiles /p "C:\inetpub\logs\LogFiles" /s /m *.* /c "cmd /c Del @path" /d -7 

このコマンドは、IIS7のためであり、それが1週間以上経過しているすべてのログファイルを削除します。

/dのarg値を変更することで、日数を調整することができます。

+0

これはまさに私が必要としていたものでした。ログはすでにオフサイトでバックアップされていますので、古いものを削除するとこの作業がうまくいきます。 – mikeschuld

+1

シンプルで効果的です:) – Spence

+2

完璧!おかげで、私は 'forfiles'コマンドに気づかせることができました。 –

1

同様の解決策ですが、powershellを使用してください。

私はそれはD内のすべてのファイルを削除します。..

dir D:\IISLogs |where { ((get-date)-$_.LastWriteTime).days -gt 15 }| remove-item -force 

を引数として以下の行でPowerShellを実行するタスクを設定しました:\ IISLOgsは15日より古いフォルダ。

3

一行のバッチスクリプト:

forfiles /p C:\inetpub\logs /s /m *.log /d -14 /c "cmd /c del /q @file" 

ログファイルが削除前の周りにハングの日数を変更するには、/ dスイッチを変更します。/sスイッチは、サブディレクトリも再帰的に繰り返します。

参考:http://debug.ga/iis-log-purging/

+0

恐ろしい - ありがとう - 素晴らしい作品! – cvocvo

0

もう生きPowershellのワンライナー:ケース$_.LastWriteTime

Get-ChildItem -Path c:\inetpub\logs\logfiles\w3svc*\*.log | where {$_.LastWriteTime -lt (get-date).AddDays(-180)} | Remove-Item -force 

が動作しない、あなたの代わりに$PSItem.LastWriteTimeを使用することができます。

IIS LogFilesフォルダのHDDスペース使用率を活用するための詳細とその他の提案については、read this postもお勧めします。

関連する問題