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


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

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

我“试过lftp,因为我需要提供密码的非交互,和公钥/私钥不适用于我。sftprename是可用的,但它需要公钥/私钥身份验证。

我不能使用lftpftpcopycpmv。在手册页中,get似乎很有希望:

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

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

因为我使用的是同一台服务器,所以如果lftp只使用与当前用于登录到当前服务器相同的凭据,那就太好了。可惜...

有没有办法使用密码作为get命令?有一个更好的方法吗?

我认为这rsync没有帮助...

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


对于使用密码与OpenSSH的sftp,看到stackoverflow.com/questions/5386482/...
马丁Prikryl

“如果lftp只是使用我当前用于登录到当前服务器的相同凭据,那就太好了”:那么,如果您已经登录到服务器,则需要SFTP做什么?使用本地(服务器)文件复制命令(copy在Windows上)。
Martin Prikryl 2014年

我没有登录Windows桌面...已sftp通过sftp服务器验证。
Felipe Alvarez 2014年

我知道,sshpass我们正在考虑将此作为替代选择。我只是想知道是否还有其他我尚未考虑的方法。
Felipe Alvarez 2014年

那么,怎么了sshpass?为什么它是您唯一的选择?请让您的问题更清楚。您还需要复制(get)或移动文件吗?为什么不能使用lftpmv命令?
Martin Prikryl 2014年

Answers:


0

@Felipe-发表评论时,我不知道自己在抽烟,我不敢相信我没有完成输入帖子,对此表示抱歉。

当我试图使lftp能够在我的远程服务器和本地计算机之间传输文件时,启动lftp后遇到了身份验证问题,我可以使用lftp成功连接到我的服务器,但是我无法运行任何命令,所有内容都会像下面的例子。

lftp 222.222.222.222:~>
0处的ls'ls '[正在连接...]
0处的'ls'[重新连接之前的延迟:35]

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

ssh -p PORT#用户名@ xxx.xxx.xxx.xxx

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

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

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

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

镜像-删除源文件

lftp-mirror.sh-脚本

《 LFTP手册》可能有助于您针对特定情况获取正确的命令和附件。

LFTP手册

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.