Acabei de descobrir que o IIS cria logs indefinidamente e não parece haver nenhuma configuração do IIS que limpe automaticamente automaticamente os arquivos de log antigos. Qual é a melhor maneira de manter meus logs do IIS sob controle para que eles não preencham todo o disco rígido?
20
Respostas:
Você precisará executar uma tarefa agendada para fazê-lo. Aqui está um script do Powershell que deve funcionar.
Isso deve limpar tudo que foi modificado pela última vez há mais de 30 dias. Altere o caminho na primeira linha para onde quer que seus arquivos de log estejam armazenados. Altere também -30 para o tempo que desejar manter os arquivos. -30 significa que você excluirá qualquer coisa com mais de 30 dias.
Você pode dar uma olhada neste artigo que mostra propriedades diferentes para o objeto FileInfo se você não quiser usar LastWriteTime.
fonte
Get-ChildItem *.* -include *.log
Você poderia preparar o seu próprio, mas acredito que uma pessoa inteligente já escreveu isso para você. Confira IISLogs e IISLogs Lite!
Se tudo o que você faz é excluir os logs, você pode desativar o log se não for necessário! você economizará bastante servidor de E / S!
fonte
Atualmente, estou fazendo isso usando um script de arquivo em lote muito simples:
Também fiz uma entrada de Tarefa agendada para iniciá-la diariamente e até ativei o recurso de compactação de arquivos nessa pasta: todas essas coisas juntas corrigiram meu problema com os arquivos do IIS para sempre.
Explicação das opções no arquivo em lotes:
Se você estiver procurando por uma alternativa viável do PowerShell , consulte esta outra resposta : para obter outras sugestões sobre como reduzir corretamente a pasta Arquivos de log do IIS, confira esta postagem .
fonte
Bem, se você deseja limpá-los regularmente, por que não desabilita o log de solicitações no IIS? Você pode usar algo como o google analytics ou algum outro serviço. Vejo muitas pessoas para evitar a dor de cabeça com os logs do IIS afetando o desempenho e consumindo todo o espaço em disco, mas tudo depende dos seus requisitos, é claro.
fonte
A Microsoft sugere um script em seu site .
Abaixo está uma versão modificada que estou usando para minhas necessidades.
Observe que eu mudei de "DateCreated" para "DateLastModified", pois a data criada contra-intuitivamente pode ser posterior à última modificação, como pode ser o caso dos arquivos copiados. Você provavelmente não deseja remover arquivos que foram atualizados recentemente.
Em seguida, execute-o usando cscript.exe (por exemplo
cscript.exe d:\scripts\logRetentionScript.vbs
).fonte
Crie uma tarefa agendada no servidor. Na seção de ações, você deseja:
Dê um horário diário ou semanal. Feito.
fonte