it-swarm.com.de

sftp get -r ohne überschreiben

Ich verbinde mich oft mit einer Datenbank über das SFTP-Protokoll und erhalte die Daten durch Ausführen von get -r

gibt es eine Möglichkeit, alle auf meinem Computer vorhandenen Dateien zu überspringen? Ich habe versucht, -r --overwrite zu bekommen, aber es funktioniert nicht. (Ich weiß, dass ich meine Dateien nur lesen kann, aber ich würde gerne einen besseren Weg finden).

3
p.deman

Nein, das ist nicht möglich. Die Manpage für sftp erwähnt keine Option, mit der dies funktioniert. Am besten kopieren Sie die Dateien an einen Speicherort, von dem Sie wissen, dass er leer ist, und kopieren Sie sie dann an den von Ihnen gewünschten Speicherort mit

get -r remote_path/ empty_path/
!cp --no-clobber empty_path/ real_target/
2
Jakuje

Ich würde vorschlagen, rsync anstelle von ssh zu verwenden:

rsync -avz -e ssh --progress [email protected]:/var/db ~/db

Einige weitere Lektüre:

1
mgor

Dies ist mit sftp möglich. Verwenden Sie 'get -a -r'. Laut der Manpage von sftp für Ubuntu: http://manpages.ubuntu.com/manpages/artful/man1/sftp.1.html versucht die Option -a, unterbrochene Übertragungen fortzusetzen und nur zu überschreiben eine Datei, wenn es Unterschiede in der Datei gibt.

0
Dante