web-dev-qa-db-fra.com

les fichiers des dossiers temporaires sont-ils automatiquement supprimés?

Nous envisageons de faire en sorte que notre application Web hébergée sur une machine Windows Server 2003 crée des fichiers temporaires et les "laisse" tels quels. Nous ne prendrons aucune action manuellement à leur sujet. Ces fichiers seront-ils automatiquement supprimés? Ou devons-nous configurer une sorte de politique - comme ces fichiers devraient être supprimés au bout de 30 jours environ ...

Mettre à jour:

Un serveur de production sera à peine arrêté. Que faire si les fichiers doivent être supprimés?

25
deostroll

Non, rien dans Windows ne permet d'activer automatiquement la suppression automatique des fichiers temporaires. Pas à l'arrêt, pas au redémarrage, jamais.

L'outil Nettoyage de disque a une option pour le faire lorsqu'il est exécuté.

La bonne façon de gérer cela est que votre application Web se nettoie d'une manière ou d'une autre. Vous pouvez par exemple supprimer des fichiers orphelins lorsqu'un utilisateur se déconnecte. Ou une (petite) chance au hasard qu'un "balayage de nettoyage" soit effectué à chaque demande. Ou une tâche planifiée qui doit être installée et configurée pour effectuer le nettoyage. Ou une tâche planifiée pour exécuter le nettoyage de disque.

Ne vous contentez pas de "laisser des trucs" dans le dossier temporaire dans l’espoir que quelque chose se produise et que tout soit réglé pour vous.

De même, lorsque vous nettoyez vos fichiers, ne touchez que les fichiers que vous avez créés et aucun autre. D'autres applications peuvent avoir besoin de ces fichiers. Si le suivi de vos propres fichiers vous pose trop de problèmes, créez un dossier que vous pourrez vider à volonté.

17
afrazier

Parce que vous parlez d'un serveur à haute disponibilité, une tâche planifiée est la meilleure solution. Vous pouvez faire quelque chose d'aussi simple qu'un fichier vbscript ou un fichier de commandes qui trouve tous les fichiers sur une certaine date et les purge. Ajustez la fréquence de la planification en fonction de la rapidité avec laquelle les fichiers temporaires s’accumulent afin de minimiser la charge sur le serveur lors d’une exécution donnée.

Thomas Maurer a un script PowerShell qui permet un niveau de flexibilité assez élevé, tel que la spécification de l'âge des fichiers à supprimer, le dossier dans lequel ils doivent être supprimés, etc.

MISE À JOUR: le site de Thomas Maurer ne se charge pas, j'ai donc lancé une recherche sur Google pour " supprime de manière forcée les fichiers de plus de 30 jours " et les résultats semblent prometteurs.

3
music2myear