我经常通过 sftp 协议连接到数据库,并通过执行以下操作获取数据get -r
有没有选项可以跳过计算机上所有现有文件?我尝试了 get -r --overwrite,但它不起作用。(我知道我可以将文件设置为只读,但我想找到更好的方法)。
答案1
使用 sftp 可以实现这一点。使用“get -a -r”。根据 ubuntu 的 sftp 手册页:http://manpages.ubuntu.com/manpages/artful/man1/sftp.1.html-a 选项尝试继续中断的传输,并且仅当文件存在差异时才覆盖文件。
答案2
不,这是不可能的。手册页sftp
没有提到任何可以实现这一点的选项。最好将文件复制到某个已知为空的位置,然后使用以下命令复制到您想要的位置
get -r remote_path/ empty_path/
!cp --no-clobber empty_path/ real_target/
答案3
我建议rsync
使用ssh
:
rsync -avz -e ssh --progress user@server:/var/db ~/db
进一步阅读: