Wie lösche ich große Dateien per FTP oder SSH?

Wie lösche ich große Dateien per FTP oder SSH?

Auf meinen Servern erstellt eines der von mir verwendeten Skripte ständig leere Dateien im Stammverzeichnis. Ich habe es seit über 6 Monaten nicht bemerkt und mittlerweile sind insgesamt mehr als 500.000 Dateien erstellt worden.

Ich kann nicht über die Systemsteuerung auf dieses Verzeichnis zugreifen, da zu viele Dateien vorhanden waren und ich nur per FTP darauf zugreifen kann. Sogar per FTP hat FTP die Dateien um jeweils 8000 gekürzt. Ich muss also immer wieder jeweils 8000 löschen.

Ich habe versucht, meinen Host zu bitten, es für mich zu löschen, aber er sagt, er könne das aus Haftungsgründen nicht.

Ich möchte also wissen, wie ich all diese 500.000 Dateien per FTP löschen kann. Da es sich um Shared Hosting handelt, habe ich auch keinen SSH-Zugriff. Der Hosting-Anbieter sagt, ich kann den SSH-Zugriff anfordern, muss ihn aber bestätigen und sein Büro ist bis nächste Woche geschlossen. Also muss ich vorerst auf FTP zurückgreifen.

Lassen Sie mich also bitte wissen, wie ich große Dateien per FTP löschen kann?

Und falls ich SSH-Zugriff bekomme, lassen Sie mich bitte wissen, wie ich die Dateien effizient über SSH löschen kann?

Die Dateinamen lauten wie folgt

  • schließencp.139619
  • schließencp.139619.1
  • schließencp.139620
  • schließencp.139620.1

Antwort1

AlsSamdarauf hingewiesen, dass ich eine PHP- oder Perl-Datei auf Ihrem Webspace platzieren würde, welche die Dateien aus dem Verzeichnis löscht.

Stellen Sie sicher, dass das Skript nur von Ihnen gefunden werden kann und dass die darin enthaltenen Werte nicht per POST oder GET überschrieben werden können.

Antwort2

Das Löschen dieser Dateien wird vermutlich ziemlich lange dauern. Rechnen Sie während dieser Zeit mit hohen E/A-Aufwänden.

In diesem Artikel finden Sie viele nützliche Ratschläge zum Löschen vieler Dateienrm-auf-einem-Verzeichnis-mit-Millionen-von-Dateien

Ihre Zahl beträgt vielleicht nicht Millionen, aber sie wird deutlich langsamer sein.

Antwort3

Schließlich habe ich es mit den FTP-Befehlszeilen geschafft. Ich habe „cmd“ im Fenster verwendet.

Zuerst muss ich die Eingabeaufforderung deaktivieren mit

prompt

Anschließend löschen Sie mit folgendem Befehl

mdelete closecp.*

Antwort4

Wenn Sie per SSH auf die Box zugreifen können, können Sie Folgendes ausführen:

find /path/to/files -maxdepth 1 -name "closecp.*" -delete

Dadurch werden alle Dateien mit Namen der Form „closecp.*“ (wie Sie notiert haben) im Verzeichnis /Pfad/zur/Datei gefunden (ändern Sie dies entsprechend Ihrer Situation). Die Option „-maxdepth 1“ verhindert, dass der Befehl „find“ in Unterverzeichnissen sucht, und sucht nur in /Pfad/zur/Datei.

verwandte Informationen