sftp - ターゲットフォルダに存在しないフォルダからのみファイルをコピーする方法

sftp - ターゲットフォルダに存在しないフォルダからのみファイルをコピーする方法

getファイルをダウンロードするために使用できますが、sftp既にターゲットフォルダにあるファイルを再ダウンロードするのを防ぐことができるかどうか疑問に思います。

ベストアンサー1

sftp限られた能力。それにもかかわらず、このgetコマンドにはこの問題を解決するオプションがあります。get -a部分ダウンロードを完了します。したがって、ファイルがクライアントにすでに存在し、少なくともサーバー上のファイルと同じ大きさであれば、ダウンロードされません。ファイルが存在するが長さが短い場合、ファイルの終わりが転送されます。これは、ローカルファイルがダウンロードが中断された結果である場合に当てはまります。

SFTPを介して複雑なタスクを実行する最も簡単な方法は、次を使用することです。SSHFS。 SSHFS は、SFTP を使用してリモートファイルシステムをローカルファイルシステムとして表示するファイルシステムです。クライアント側では、SSHFSには次のものが必要です。ヒューズ、ほとんどの最新のuniceで利用可能です。サーバーでは、SSHFSにはSFTPが必要です。サーバーがSFTPを許可している場合は、SSHFSを使用できます。

mkdir server
sshfs server.example.com:/ server
rsync -a server/remote/path /local/path/
fusermount -u server

SSHFS 経由の rsync はリモート側で部分チェックサムを計算できないため、デルタ転送アルゴリズムを利用できません。ワンタイムダウンロードには問題ありませんが、変更されたファイルを同期する場合は無駄です。変更されたファイルを効果的に同期するにはを使用しますrsync -a server:/remote/path /local/path/。ただし、これにはSFTPアクセスだけでなくSSHシェルアクセスも必要です。ただし、シェルアクセスはrsyncコマンドに制限できます。

おすすめ記事