FTP: kopieren, überprüfen der Integrität und löschen
Ich bin auf der Suche nach einem Weg, um eine Verbindung zu einem remote-server mit ftp
oder lftp
und stellen Sie sicher, dass Sie die folgenden Schritte aus:
-
Kopieren von Dateien vom FTP-server auf meinem lokalen Rechner.
-
Überprüfen, ob die heruntergeladenen Dateien sind in Ordnung (d.h. md5checksum).
-
Wenn der download in Ordnung war, dann löschen Sie die heruntergeladenen Dateien von dem FTP-server.
Diese routine ausgeführt wird jeden Tag von meiner lokalen Maschine. Was wäre die beste Möglichkeit, dies zu tun? Gibt es ein tool, das macht die Abstraktion von allen 3 Schritten ?
Bin ich Linux auf client-und server-Maschinen.
Update: Zusätzlich habe ich auch eine text-Datei, die enthält die Zuordnung zwischen den Dateien auf dem FTPserver und Ihren MD5sum. Sie waren berechnet auf die FTP-server-Seite.
- Auf welcher Plattform sind Sie auf?
- Ich bin mit Linux auf client-und server-Maschinen
- Oh, ok, ich habe die Windows-Lösung mittlerweile. Ich halte es, falls es jemandem hilft. Hoffentlich bekommen Sie eine Antwort mit der Linux-Lösung.
- Es ist jetzt eine ganz andere Frage, wenn Sie wissen, die Prüfsumme schon!
- Das macht die Sache machbar ? 🙂 Muss ich nur um zu überprüfen die Prüfsumme der Quelle (FTP-server) und das Ziel (meinem lokalen Rechner) und dann löschen Sie die Kopie auf dem FTP-server ?
- Laden Sie einfach die Datei, berechnen Sie die lokalen Prüfsumme und vergleicht es mit der Prüfsumme, haben Sie in der text-Datei. Wenn Sie übereinstimmen, löschen Sie die remote-Datei.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstens, stellen Sie sicher, dass Ihre remote-server unterstützt die checksum-Berechnung überhaupt. Viele tun das nicht. Ich glaube, es gibt auch keine standard-FTP-Befehl zum berechnen einer Prüfsumme für eine remote-Datei. Es gab viele Vorschläge, und es gibt viele proprietäre Lösungen.
Der neueste Vorschlag ist:
https://tools.ietf.org/html/draft-bryan-ftpext-hash-02
Also selbst wenn Ihr server unterstützt checksum-Berechnung, Sie haben einen Kunden zu finden, unterstützt Sie den gleichen Befehl.
Einige der Befehle, die verwendet werden können zum berechnen der Prüfsumme werden:
XSHA1
,XSHA256
,XSHA512
,XMD5
,MD5
,XCRC
undHASH
.Testen kann man das mit WinSCP. Der WinSCP unterstützt alle zuvor genannten Befehle. Testen Sie die checksum-Berechnung-Funktion oder die
Prüfsumme
- Skript-Befehl. Wenn Sie arbeiten, aktivieren der Protokollierung und zu überprüfen, was Befehl und was syntax WinSCP verwendet für Ihre server.Weder die
ftp
(weder Windows noch *nix-version), noch derlftp
Unterstützung von Prüfsummen-Berechnung, lassen Sie nur die automatische überprüfung der heruntergeladenen Datei.Ich bin mir auch nicht bewusst von einem anderen client kann automatisch prüfen, heruntergeladene Datei.
Können Sie auf jeden Fall-script mit Hilfe von einigen feature-rich-client.
Ich habe geschrieben, dass diese Antwort vor der OP angegeben, dass er/Sie auf Linux. Ich halte die Windows-Lösung, falls es jemandem hilft.
Unter Windows, könnten Sie ein Skript erstellen, mit PowerShell mit WinSCP .NET-assembly.
Können Sie es ausführen, wie:
Dies ist teilweise auf Basis von WinSCP Beispiel für Überprüfung der Prüfsumme des remote-Datei gegen eine lokale Datei über SFTP/FTP-Protokoll.
(Ich bin der Autor auf WinSCP)
Das ist eine lange gedreht, aber wenn der server unterstützt php, können Sie nutzen, die.
Speichern Sie das folgende als eine
php
- Datei (z.B.check.php
), in den gleichen Ordner wie Ihrename_of_file.txt
Datei:Dann besuchen Sie die Seite
check.php
, und Sie sollten den md5-hash der Datei.Fragen: