tmpフォルダーはどのように機能しますか?それは多くのジャンクファイルを保存し、スペースを取ります


7

私のtmpフォルダーは/ sites / default / files / tmp /に設定されており、中身を確認しました。たとえば、/ update-cache-b2903cc4 /と呼ばれるフォルダーがあり、 'Install from a URL '。では、なぜこれらのモジュールの.zipファイルがtmpフォルダーに保存されるのですか?それはストレージの無駄ではありませんか?サイトが不要なファイルでいっぱいのとき、私はそれが本当に好きではありません。

いつでも自分で削除するのですか?

回答:


21

tmpの意味?

Tmpは、temporaryの略です。したがって、tmpフォルダーは一時ファイル用のフォルダーです。すべてのオペレーティングシステムがこのようなフォルダを使用しており、実際にはそれが必要です。Drupalも同様です。Drupalはデフォルトで、オペレーティングシステムのtmpフォルダーにファイルを保存しようとします。Linuxの/tmp場合、Windowsの場合C:\Windows\Tempです。この設定は、で確認および変更できConfiguration > Media > File Systemます。一時ディレクトリがこれらの標準パスのいずれかに設定されている場合は、Drupalのファイルだけでなく、オペレーティングシステムのファイルと他のいくつかのプログラム(Apacheセッション、Drushダウンロード、インストールパッケージ)であると想定する必要があります。カスタムパス上にある場合、またはOPの場合/sites/default/files/tmp/(Drupalのフォールバックパス):Drupalファイルのみを含める必要があります。

では、Drupalはどのような種類のファイルをそこに格納しますか?

一般に、Drupalはアップロードされたすべてのファイルを最初に一時フォルダーに保存します。問題が発生した場合(クライアントとの接続が中断された場合など)は、サーバーに破損したファイルがあります。これらのファイルを一時フォルダに保持し、ファイル全体が転送された後にのみ移動することにより、パブリックファイルディレクトリに破損したファイルや不要なファイルがなくなりますsites/default/files

これには、モジュールと翻訳のダウンロード、いくつかのjsファイル(おそらく集約で使用される)、およびその他のいくつかのファイルも含まれます。

Drupalがtmpに保存するすべてのファイルの実際のリストはありません。提供されたモジュールがファイルをそこに保存することも選択する可能性があるためです。これの可能な使用例は、オンデマンドでのファイル生成である可能性があります(たとえば、ファイルのカスタム選択をzipファイルにパッケージ化し、ダウンロードとして提供するモジュール。同じファイルが複数回使用される可能性は低く、実際にはありません。それを保存することの利点)。

安全にファイルを削除できますか?

ええ、はい、いいえ...一時ファイルの考え方は、一時ファイルであるということです。これらは通常、作成後に直接使用され、不要になる可能性があります。ただし、すべてのプログラムがtmpに書き込むことができるので、すべてのプログラマーがルールに従っているわけではなく、実際に一部のファイルがまだ使用中である可能性はあります。

ファイルを削除する必要がありますか?

Drupalはcronの実行中に独自にいくつかのクリーンアップを実行します(cronがセットアップされて機能していると想定)。永続的に保存されなかったアップロード済みファイルは、system_cron()中に削除されます。古いモジュールのダウンロードがによって処理されupdate_delete_file_if_stale() (経由update_clear_update_disk_cache()update_cron() )。これらのクリーンアップは、DRUPAL_MAXIMUM_TEMP_FILE_AGE(6時間)より古いファイルをクリーンアップするように設定されていますが、実際の時間はcronの間隔によって異なります。(cronが12時間ごとにしか実行されない場合、ファイルが削除されるまでに最大12時間かかることがあります)。

ほとんどの場合、ファイルを手動で削除する必要はありません。場合によっては、cronが(すべての)ファイルを削除しない場合は、手動で削除しようとする可能性があります。ただし、最初にバックアップを作成してください。

フォルダーがオペレーティングシステムのフォルダーと共有されている場合は、そのためにオペレーティングシステムのツールを使用することをお勧めします(WindowsユーザーはDisk Cleanupツールで一時ファイルをクリーンアップできます(Linuxディストリビューションの中には、システムの再起動中にフォルダーをクリーンアップするものとそうでないものがあります)。

OPの場合と同様に、tmpフォルダーがカスタム(非オペレーティングシステム)パス上にある場合は、手動でフォルダーを空にするために比較的保存する必要があります。Webサーバー(Apache、Nginx)が停止していることを確認します。これにより、cronタスクのユーザーがファイルにアクセスできなくなります。次に、古いファイル(6時間以上経過)を手動で削除します。

結論

システムが適切に設定されており、cronが機能している場合、これらのファイルは自動的に削除されるため、クリーンアップする必要はありません。発生しない場合は、手動で削除できますが、上記の条件に留意してください。それでもうまくいかない可能性があるため、必ずバックアップを作成してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.