基本上, 从LFTP下载远程目录所需的是mirror实用程序。 LFTP的内置镜像操作可以下载或更新整个目录树。还有一个反向镜像(镜像-R), 用于上载或更新服务器上的目录树。镜像还可以使用FXP(如果有)在两个远程服务器之间同步目录。
在此示例中, 我们将编写一个由lftp实用程序执行的lftp脚本。这样做基本上是可以使用set选项在我们的脚本中设置lftp inline的自定义属性。首先创建download_example.lftp文件, 然后根据服务器的身份验证方法, 将以下内容添加到该文件中:
A.使用用户名和密码
如果你使用用户名和纯文本密码通过SFTP访问服务器, 则这是继续进行的方法。在打开的指令中, 提供用于指定协议的身份验证字符串, 用于登录的用户名(通常是root)和密码, 后跟服务器的IP地址或域:
set ssl:verify-certificate noset sftp:auto-confirm yesopen sftp://username:password@server.address.commirror --verbose --use-pget-n=8 -c --verbose /remote/directory/that-you-want-to-download /local/directory/to-save;
bye
B.使用SSH密钥
如果使用SSH密钥代替基本身份验证来访问服务器, 则需要使用OpenSSH密钥来访问它。只需将LFTP使用的连接程序更改为SSH, 并使用必要的参数, 然后使用-i参数指定身份文件:
set ssl:verify-certificate noset sftp:auto-confirm yesset sftp:connect-program "ssh -v -a -x -i C:\Users\<
username>
\.ssh\id_rsa"open sftp://username:dummy-password@server.address.commirror --verbose --use-pget-n=8 -c --verbose /remote/directory/that-you-want-to-download /local/directory/to-save;
bye
pget选项使用多个连接获取指定的文件(或目录)。这样可以加快传输速度, 但会给网络和服务器造成很大的影响, 从而影响其他用户。仅在确实必须尽快传输文件时使用, 否则从示例中将其删除。 – use-pget-n参数指定用于在镜像下传输每个文件的pget命令的数量。闭包可以与源或目标主机名匹配, 使用的最小数字应大于0。如果该值小于2, 则不使用pget。
保存脚本后, 使用以下命令与lftp一起运行它:
lftp -f download_example.lftp
这将自动开始下载目录, 并通过– verbose参数输出进度, 该参数提供有关任务进度的详细输出:
文章图片
脚本完成后, 借助LFTP, 你现在将在本地系统中本地拥有远程目录。
【如何使用LFTP脚本使用LFTP(sftp)下载远程目录】编码愉快!
推荐阅读
- 如何在Symfony 4中安装和配置FOSUserBundle
- 如何使用Doctrine和Symfony 3实现Soundex搜索(在MySql中)
- 如何解决Ubuntu 16.04中的Plesk安装/升级错误(系统中没有/etc/localtime文件)
- 如何在AWS Ubuntu 16.04实例上以root身份允许SSH和SFTP访问
- 在Plesk中创建MySQL Server数据库的非增量(逻辑备份)自动备份外壳脚本(sh)
- 如何在Mac上找到Android SDK Manager路径
- Android向后兼容性
- 虽然不建议安装Android Studio SDK组件()
- Android SDK下载作为Gradle Build的一部分