So optimieren Sie ein riesiges Bildverzeichnis

So optimieren Sie ein riesiges Bildverzeichnis

Ich habe die technischen Abläufe in einem kleinen Unternehmen übernommen. Der vorherige Leiter traf jedoch die falsche Entscheidung, Hunderte von GB an Bildern zu speichern, obwohl unsere Website nur etwa 5 GB dieser Bilder verwendet. Im Grunde gibt es keine Bereinigungsskripte. Ich bin nun mit der Optimierung dieses Chaos beauftragt und weiß nicht genau, wo ich anfangen soll. Gibt es eine Möglichkeit, eine Liste der letzten Zugriffe auf jede Bilddatei über das Internet zu erhalten, sodass ich etwas tun kann wie „WENN IN DEN LETZTEN 365 TAGEN NICHT GEÖFFNET, DANN AUF SICHERUNGSLAUFWERK VERSCHIEBEN UND VOM PRIMÄREN SERVER ENTFERNEN“?

Antwort1

Sie haben vergessen, die Umgebung anzugeben, in der Sie sich befinden (Betriebssystem, Webserver usw.), daher gehe ich von Linux aus.

Wenn Sie Ihr Datenverzeichnis nicht mit auf dem Server gemountet haben noatime, können Sie mit findnach Dateien suchen, auf die 365 Tage lang nicht zugegriffen wurde:

find /var/www/images -iname "*.jpg" -atime +365 -type f

Wenn Sie verwendet haben noatime, ist dies nicht möglich (und wenn Sie verwendet haben relatime, atimekann es zu einer Abweichung von 24 Stunden kommen).

Dies ist jedoch keine gute Vorgehensweise, da Ihre HTML-Dateien möglicherweise tote Links enthalten und jemand diese Ressource in 5 Tagen benötigt ...

Besserer Ansatz: Analysieren Sie Ihren Webbaum, listen Sie alle darin referenzierten Dateien auf (stellen Sie sicher, dass die automatische Indizierung Ihres Webservers deaktiviert ist...) und archivieren Sie alles andere. Auf diese Weise können Sie sicherstellen, dass alles, was in Ihren HTML-Dateien aufgelistet ist, weiterhin verfügbar ist.

Vorsicht, es besteht die Möglichkeit, dass Sie isolierte Inseln von HTML-Dateien haben, die nicht in Ihrem regulären Baum verknüpft sind und auf die Benutzer über einen direkten Link zugreifen. Denken Sie beim Erstellen Ihrer Liste daran. Das Gleiche gilt natürlich möglicherweise auch für Bilddateien, aber diese können Sie wirklich nur mit der Protokolldateianalyse oder der findMethode abfangen.

Antwort2

Je nachdem, wie weit Ihre Webprotokolle zurückreichen, könnten Sie alle Einträge nach Dateien aus dem betreffenden Verzeichnis herausfiltern und anschließend alles löschen, was nicht gefunden wurde.

verwandte Informationen