web-dev-qa-db-ja.com

一時フォルダ内のファイルは自動的に削除されますか?

私たちは、Windows Server 2003マシンでホストされているWebアプリケーションに一時ファイルを作成させ、そこにそのままにしておくことを考えています。それらに対して手動でアクションを行うことはありません。これらのファイルは自動的に削除されますか?または、私たちが設定する必要があるある種のポリシーがあります-これらのファイルは30日ほどで削除されるように...

更新:

本番サーバーはほとんどシャットダウンしません。ファイルを何らかの方法で削除する必要がある場合はどうすればよいですか?

26
deostroll

いいえ、一時ファイルを自動的に削除するWindowsのデフォルトでオンになっているものはありません。シャットダウンではなく、再起動ではありません。

ディスククリーンアップツールには、実行時にそれを実行するオプションがあります。

これを処理する適切な方法は、Webアプリケーションが何らかの方法で自分自身をクリーンアップすることです。たとえば、ユーザーがログアウトしたときに、孤立したファイルを削除することができます。または、要求ごとに「クリーンアップスイープ」が行われる(小さな)ランダムなチャンス。または、クリーンアップを実行するためにインストールおよび構成する必要があるスケジュールされたタスク。または、ディスククリーンアップを実行するためのスケジュールされたタスク。

何かがやって来てあなたのためにあなたの混乱をクリーンアップすることを期待して、一時フォルダに単に「ものを残して」行くことはしないでください。

また、ファイルのクリーンアップに取り掛かるときは、作成したファイルのみに触れ、他のファイルには触れないでください。他のアプリケーションではこれらのファイルが必要になる場合があります。自分のファイルを追跡するのが面倒すぎる場合は、自由に空にできるフォルダを作成してください。

18
afrazier

高可用性を備えたサーバーについて話しているので、スケジュールされたタスクが最善の方法です。特定の日付のすべてのファイルを見つけてパージするvbscriptまたはバッチファイルのような単純なことを行うことができます。特定の実行でのサーバーの負荷を最小限に抑えるために、一時ファイルの蓄積速度に基づいてスケジュールの頻度を調整します。

Thomas Maurerにはpowershellスクリプトがあります これにより、削除するファイルの保存期間や削除するフォルダーの指定など、かなり高いレベルの柔軟性が得られます。

更新:Thomas Maurerのサイトがロードされないので、「 日以上前のpowershell delete files 」でグーグル検索を実行したところ、結果は有望に見えました。

3
music2myear