2016-04-27 17 views
0

Ich verbinde mich über sftp-Verbindung mit dem Server. Ich sollte zwei Dateien bekommen: zuletzt erstellte/modifizierte * .sql und * .bkp Dateien.SFTP bekomme zuletzt erstellte/geänderte Dateien

Ich habe versucht, so etwas wie ls -t >> list_of_files dann zu meinem lokalen mashine

get list_of_files 
cat list_of_files | grep *sql | head -1 >> sql_filename 
cat list_of_files | grep *sql | head -1 >> bkp_filename 

ls -t >> list_of_files Ausgänge Can't ls: "path" not found

Jetzt habe ich zum Download, die Namen dieser beiden Dateien, wie kann ich bekommen es vom sftp server?

Wie kann ich es richtig machen?

+0

Verwendung ssh die Liste der Dateien zu erhalten zuerst: 'ssh user @ server ls -t path/to/files /' und man konnte sogar die Aufarbeitung des grep und Kopf schließen außerdem, so dass es nur die Dateien zurückgibt, die Sie benötigen. dh 'ssh user @ server ls-t/pfad/zu/files/| grep \ *. sql | kopf -1 >> sql_filename' hinweis: das entweichen des * um zu verhindern, dass die lokale bash es erweitert, so dass es passiert zu dem entfernten grep intakt. – Cwissy

+0

aber wie mache ich das mit sftp? – Vladislav

+0

@Cwissy, ich bekomme einen leeren sql_filename, wenn ich 'ssh l-one @ localhost ls -tl Desktop/l | grep \ *. sql | Kopf -1 >> sql_filename' – Vladislav

Antwort

0

versuchen, diese

ssh [email protected] 'file=`ls -t| tail -n 1`; scp $file [email protected]://current_dir' 
+0

Während dieser Code die Frage beantworten kann, würde die Bereitstellung eines zusätzlichen Kontexts bezüglich des Warum und/oder wie er die Frage beantwortet, seinen langfristigen Wert signifikant verbessern. Bitte [bearbeiten] Sie Ihre Antwort, um eine Erklärung hinzuzufügen. – CodeMouse92