lftp远程复制文件从一个目录到另一个目录

lftp远程复制文件从一个目录到另一个目录
  1. 我下载了远程 dir1/ 中的所有文件。
  2. 它们被下载到一个包含数百个文件的目录中。
  3. 我需要将文件复制到远程“存档”目录。
  4. 我需要从 dir1/ (上面) 中删除文件。

我很难找到使用 sftp 协议将文件从 dir1/file 传输到 dir2/ 的方法。

我已经尝试过,lftp因为我需要以非交互方式提供密码,并且公钥/私钥对我来说不可用。sftp可用rename,但它需要公钥/私钥认证。

我不能使用lftpftpcopycpmv在手册页中,get看起来很有希望:

get README -o ftp://some.host.org/debian-dir/

但验证失败(假设“没有密码”)。

lftp因为我使用的是同一个服务器,所以如果能使用我目前使用的相同凭据登录当前服务器就好了。但可惜的是……

有没有办法使用密码来get执行命令?有没有更好的方法?

我不相信这rsync在这里有帮助......

如果有帮助的话,我相信SFTP 服务器是一个 Windows 机器。

答案1

@Felipe - 我不知道当我发表评论时我在抽什么,我不敢相信我还没有打完我的帖子,对此我很抱歉。

当我尝试让 lftp 在远程服务器和本地计算机之间传输文件时,启动 lftp 后遇到了身份验证问题,我可以使用 lftp 成功连接到我的服务器,但无法运行任何命令,一切都会像下面的示例一样进行。

lftp 222.222.222.222:~> ls
‘ls’ at 0 [正在连接……]
‘ls’ at 0 [重新连接前延迟:35]

退出 lftp 并返回正常命令行,然后尝试使用此命令连接 ssh,如果出现提示,请输入您的密码 -

ssh -p 端口#[电子邮件保护]

如果您能够连接到远程服务器并能够列出当前文件夹的内容,那么您现在应该能够使用 lftp 而不会出现“连接”超时错误。

我已附上用于在远程和本地计算机之间传输文件/文件夹的脚本。该脚本尚未完全完成,但它确实按预期工作。请记住编辑主机、端口号、用户名/密码、本地和远程目录(此外,可能需要注释掉第 23、24 和 25 行,但除非遇到问题,否则不要尝试)

在某些时候,我希望脚本能够从另一个文本文件中提取文件夹列表,然后将列出的每个文件夹传输到我的本地计算机,但根据我的需要找到并编辑,运行下面链接中附加的脚本。

要从远程服务器删除传输后的文件,您可以将此标志与镜像命令一起使用。

‘镜像--删除源文件’

lftp-mirror.sh-脚本

LFTP 手册可能有助于获取适合您特定情况的正确命令和参数。

LFTP 手册

相关内容