os arquivos nas pastas temporárias são automaticamente excluídos?

24

Estamos pensando em tornar nosso aplicativo da Web hospedado em uma máquina do Windows Server 2003 criar arquivos temporários e "deixá-lo" como tal. Não iremos tomar nenhuma ação manualmente. Então, esses arquivos serão excluídos automaticamente? Ou há algum tipo de política que temos que configurar - como esses arquivos devem ser excluídos após 30 dias ou mais ...

Atualização:

Um servidor de produção dificilmente será encerrado. O que fazer então se os arquivos tiverem que ser deletados de alguma forma?

    
por deostroll 03.08.2011 / 14:40

2 respostas

14

Não, não há nada ativado por padrão no Windows que exclua arquivos temporários automaticamente. Não no desligamento, não na reinicialização, nem sempre.

A ferramenta Limpeza de disco tem uma opção para fazer isso quando é executada.

A maneira correta de lidar com isso é para que seu aplicativo da Web limpe-se de alguma forma. Você pode excluir arquivos órfãos quando um usuário efetua logout, por exemplo. Ou uma (pequena) chance aleatória de que uma "varredura de limpeza" seja feita a cada solicitação. Ou uma tarefa agendada que deve ser instalada e configurada para fazer a limpeza. Ou uma tarefa agendada para executar a Limpeza de Disco.

Não vá apenas "deixar coisas" na pasta temp, na esperança de que algo apareça e limpe sua bagunça para você.

Além disso, quando você limpar seus arquivos, apenas toque nos arquivos que criou e em outros. Outros aplicativos podem precisar desses arquivos. Se o rastreamento de seus próprios arquivos é muito problemático, crie uma pasta que você possa esvaziar com segurança à vontade.

    
por 03.08.2011 / 15:33
3

Como você está falando de um servidor com alta disponibilidade, uma tarefa agendada é o melhor caminho a percorrer. Você pode fazer algo tão simples quanto um arquivo vbscript ou batch que encontre todos os arquivos em uma determinada data e os purga. Ajuste a frequência do agendamento com base na rapidez com que os arquivos temporários se acumulam para minimizar a carga no servidor em qualquer execução.

Thomas Maurer tem um script powershell que permite um nível bem alto de flexibilidade, como especificar a idade dos arquivos a serem removidos, a pasta da qual eles serão removidos, etc.

ATUALIZAÇÃO: o site de Thomas Maurer não está sendo carregado para mim. Por isso, pesquisei no Google por " powershell exclua arquivos com mais de 30 dias " e os resultados parecem promissores.

    
por 03.08.2011 / 16:07