Wie funktioniert der tmp-Ordner? Es speichert viele Junk-Dateien und benötigt Speicherplatz

7

Mein tmp-Ordner ist auf / sites / default / files / tmp / eingestellt und ich habe überprüft, was sich darin befindet. Beispielsweise befindet sich darin ein Ordner mit dem Namen / update-cache-b2903cc4 /, in dem alle Module in .zip gespeichert sind, die ich über 'Install from a URL '. Warum werden die ZIP-Dateien dieser Module dort im tmp-Ordner gespeichert? Ist das nicht eine Verschwendung von Speicher? Ich mag es nicht wirklich, wenn die Seite voller unnötiger Dateien ist.

Soll ich diese die ganze Zeit selbst löschen?

user13176
quelle

Antworten:

21

Was bedeutet tmp?

Tmp ist eine Abkürzung für temporär. Der tmp-Ordner ist also ein Ordner für temporäre Dateien. Jedes Betriebssystem verwendet einen solchen Ordner und benötigt ihn tatsächlich. Drupal auch. Drupal versucht standardmäßig, Dateien im tmp-Ordner Ihres Betriebssystems zu speichern. Unter Linux ist dies /tmpunter Windows der Fall C:\Windows\Temp. Sie können diese Einstellung überprüfen und ändern Configuration > Media > File System. Wenn Ihr temporäres Verzeichnis auf einen dieser Standardpfade festgelegt ist, sollten Sie davon ausgehen, dass es sich nicht nur um Drupals Dateien handelt, sondern auch um Dateien des Betriebssystems und mehrerer anderer Programme (Apache-Sitzungen, Drush-Downloads, Installationspakete). Wenn es sich in einem benutzerdefinierten Pfad befindet oder im Fall von OP: /sites/default/files/tmp/(Drupals Fallback-Pfad ), sollte es nur Drupal-Dateien enthalten.

Welche Art von Dateien speichert Drupal dort?

Im Allgemeinen speichert Drupal zuerst alle hochgeladenen Dateien im temporären Ordner. Wenn etwas schief geht (z. B. die Verbindung zum Client wird unterbrochen), befindet sich eine beschädigte Datei auf dem Server. Wenn Sie diese Dateien in einem temporären Ordner aufbewahren und erst verschieben, nachdem die gesamte Datei übertragen wurde, wird sichergestellt, dass sich keine beschädigten oder nicht benötigten Dateien in Ihrem öffentlichen Dateiverzeichnis befinden sites/default/files.

Dies umfasst auch Module und Übersetzungsdownloads, einige js-Dateien (wahrscheinlich in Aggregation verwendet) und mehrere andere Dateien.

Es gibt keine echte Liste aller Dateien, die Drupal in tmp speichert, da die bereitgestellten Module möglicherweise auch eine Datei dort speichern. Mögliche Anwendungsfälle hierfür können die bedarfsgerechte Generierung von Dateien sein (z. B. ein Modul, das eine benutzerdefinierte Auswahl von Dateien in eine Zip-Datei packt und als Download anbietet. Es ist unwahrscheinlich, dass dieselbe Datei mehrmals verwendet wird und es keine echte gibt Nutzen bei der Aufbewahrung).

Kann ich die Dateien sicher entfernen?

Nun ja und nein ... Die Idee von temporären Dateien ist, dass sie ... temporär sind. Sie werden in der Regel direkt nach ihrer Erstellung verwendet und werden möglicherweise nicht mehr benötigt. Da jedoch alle Programme in tmp schreiben können, ist es eine vernünftige Annahme, dass nicht alle Programmierer die Regeln einhalten, oder dass einige Dateien tatsächlich noch verwendet werden.

Soll ich die Dateien entfernen?

Drupal führt während der Cron-Läufe mehrere Bereinigungen alleine durch (vorausgesetzt, Cron ist eingerichtet und funktioniert). Hochgeladene Dateien, die nicht dauerhaft gespeichert wurden, werden während system_cron () entfernt . Das Herunterladen alter Module wird von update_delete_file_if_stale () (über update_clear_update_disk_cache () und update_cron () ) durchgeführt. Diese Bereinigungen sind so eingestellt, dass ältere Dateien als DRUPAL_MAXIMUM_TEMP_FILE_AGE (6 Stunden) bereinigt werden. Die tatsächliche Zeit hängt jedoch vom Cron-Intervall ab. (Wenn cron nur alle 12 Stunden ausgeführt wird, kann es bis zu 12 Stunden dauern, bis die Dateien entfernt werden.)

In den meisten Fällen sollte es nicht erforderlich sein, die Dateien manuell zu entfernen. Wenn cron in einigen Fällen nicht (alle) Dateien entfernt, können Sie versuchen, sie von Hand zu entfernen. Aber machen Sie zuerst ein Backup!

Wenn Ihr Ordner für den Ordner Ihres Betriebssystems freigegeben ist, möchten Sie möglicherweise die Tools Ihres Betriebssystems dafür verwenden (Windows-Benutzer können die temporären Dateien mit dem Disk CleanupTool bereinigen .) Einige Linux-Distributionen bereinigen den Ordner während des Systemneustarts, andere nicht. )

Wenn sich der tmp-Ordner in einem benutzerdefinierten Pfad (ohne Betriebssystem) befindet, wie dies beim OP der Fall ist, sollte es relativ sicher sein, den Ordner von Hand zu leeren. Stellen Sie sicher, dass Ihr Webserver (Apache, Nginx) gestoppt ist, damit kein Benutzer der Cron-Task die Dateien berührt. Löschen Sie dann die veralteten Dateien (älter als 6 Stunden) manuell.

Fazit

Wenn Ihr System ordnungsgemäß eingerichtet ist und cron funktioniert, sollten diese Dateien nicht bereinigt werden müssen, da sie automatisch entfernt werden. Wenn dies nicht der Fall ist, können Sie sie manuell entfernen, aber die oben genannten Bedingungen berücksichtigen. Es könnte immer noch schief gehen, also machen Sie immer ein Backup!

Neograph734
quelle