Verwenden Sie wget zum Überschreiben der Datei, aber verwenden Sie den temporären Dateinamen, bis die vollständige Datei empfangen wurde, und benennen Sie sie anschließend um

8

Ich benutze wget in einem Cron-Job, um einmal pro Minute eine .jpg-Datei in einen Webserver-Ordner zu laden (jedes Mal mit demselben Dateinamen, überschreiben). Dieser Ordner ist "live", da der Webserver das Bild auch von dort aus bedient. Wenn jedoch jemand während der Zeit, zu der das Bild geholt wird, zu dieser Seite blättert, wird dies als ein jpg mit Fehlern betrachtet und sagt dies im Browser. Was ich also tun muss ist, ähnlich wie wenn Firefox eine Datei herunterlädt, sollte wget in eine temporäre Datei schreiben, entweder in / var oder im Zielordner, aber mit einem temporären Namen, bis es das Ganze hat, dann umbenennen ein atomarer (oder zumindest vernachlässigbarer) Schritt.

Ich habe die wget man-Seite gelesen und es scheint keine Befehlszeilenoption dafür zu geben. Habe ich es verpasst? Oder muss ich zwei Befehle in meinem Cron-Job, einem wget und einem move ausführen?

    
Martin Moops 24.10.2013, 18:30
quelle

0 Antworten

Tags und Links