问题标签 [lftp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - lftp 镜像不符合我条件的目录
我一直在编写一个 lftp 脚本,该脚本应该有效地将远程目录镜像到本地目录,可能一次传输多个 GB 文件。
要求之一是本地用户可以在不再需要本地文件时删除它,并且由于我将有多个“本地”计算机运行此脚本,所以我不想删除远程文件,直到我知道每个人需要,有。因此,该脚本使用 --newer-than 标志仅镜像自上次 lftp 脚本在本地运行以来在远程服务器上新建/修改的文件。
这是脚本的重要部分:
请注意,EOF 并不是 bash 脚本的实际结尾。
所以我排除了 $remote_dir 中的所有内容,除了 share/ 目录中的任何内容,包括 share/ 目录本身,它们比 last.run 文件的时间戳更新。
这可以按预期工作,除非在一种情况下说我在 share/ 中有另一个特别命名的目录,称为 shareWHATEVER/
所以 share/shareWHATEVER/stuff.txt 存在。
第一次运行,shareWHATEVER/stuff.txt被远程复制到本地,一切正常。
如果我在本地完全删除 shareWHATEVER 目录,包括 stuff.txt,那么下次脚本运行时,stuff.txt 它不会被镜像,但 shareWHATEVER 是,即使远程服务器上的时间戳没有更改。
所以在本地它看起来像 share/shareWHATEVER/ 目录是空的。
知道为什么 shareWHATEVER 被复制,即使它自己的时间戳或其任何文件的时间戳都不比我的本地检查更新?
谢谢。
java - 命令行中的引号
我正在尝试为 LFTP 制作一个 maven 插件,这涉及从我的 java 应用程序中调用 LFTP 命令行程序。
但是我无法让它使用单引号、双引号、转义单/双引号来处理我传入的命令。
到目前为止,我所拥有的代码是:
以及寻找下一步尝试的建议。
编辑#1:我试图利用org.apache.commons.exec.CommandLine
和作为预先完成的字符串,但它导致以下错误:
但是当我打印出生成的命令并手动运行它时,它工作正常。
编辑#2:增加了一些清晰度。
linux - lftp 的记录位置
使用 lftp 时,当 xfer:log 设置为“yes”时,它会将文件传输记录到 ~/.lftp/transfer_log。
当同时运行两个 lftp 实例时会发生什么?日志文件会混淆吗?
有没有办法改变日志文件的写入位置?
谢谢。
linux - 如何使用 lftp 的镜像命令下载隐藏的点目录
我不知道如何使用 lftp 的镜像命令下载隐藏的点目录
我现在只能用 get 命令获取一个点文件,然后用 ls -a 命令列出隐藏文件。
这个可以配置吗?
ftps - 无法从 Ubuntu 使用 lftp 和 FTPS 连接到 Yahoo Webhosting
我正在运行 Ubuntu 12.10,我使用 Yahoo Webhosting,我也有自己的域“example.com”。我曾经使用 FTP 向/从我的虚拟主机帐户传输文件以更新我的网站。但是现在雅虎刚刚结束对 FTP 的支持,现在他们要求用户只能使用 FTPS。我对这一变化感到高兴,因为我知道 FTP 是不安全的,因此必须迁移到 FTPS。所以我找到了 lftp ( http://lftp.yar.ru/ ),它似乎是一个 FTPS 客户端,我可以用它来向/从 Yahoo Webhosting 传输文件。我可以使用“sudo apt-get install lftp”安装它,但是当我尝试连接到 Yahoo Webhosting 时,它不起作用。
这是我的系统信息:
user@hostname:~/Desktop >> 更多 /etc/issue.net Ubuntu 12.10
user@hostname:~/Desktop >> uname -a Linux mojave 3.5.0-23-generic #35-Ubuntu SMP Thu Jan 24 13:05:29 UTC 2013 i686 i686 i686 GNU/Linux
用户@主机名:~/桌面 >> lftp -v LFTP | 版本 4.3.8 | 版权所有 (c) 1996-2012 Alexander V. Lukyanov
LFTP 是免费软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它,无论是许可证的第 3 版,还是(由您选择)任何更高版本。
分发此程序的目的是希望它有用,但不提供任何保证;甚至没有对适销性或特定用途适用性的默示保证。有关详细信息,请参阅 GNU 通用公共许可证。
您应该已经收到了一份 GNU 通用公共许可证的副本以及 LFTP。如果没有,请参阅http://www.gnu.org/licenses/。
将错误报告和问题发送到邮件列表。
使用的库:Readline 6.2、GnuTLS 2.12.14、zlib 1.2.7
这是我以前的做法:user@hostname:~/Desktop >> ftp username@ftp.example.com
现在,我尝试下面的命令,但它不起作用: user@hostname:~/Desktop >> lftp username@ftp.example.com Password: lftp username@ftp.example.com:~> ls
WARNING: gnome- keyring:: 无法连接到:/run/user/username/keyring-EvxB3g/pkcs11:没有这样的文件或目录 ls:致命错误:证书验证:不信任 lftp username@ftp.example.com:~> 退出
我究竟做错了什么?如何让 lftp 创建到 Yahoo Webhosting 的 FTPS 会话?
提前感谢您的帮助!!对此,我真的非常感激!!
史蒂夫麦克马洪
ftp - 使用无法识别 PORT 命令的服务器的 LFTP 活动模式
我正在使用 LFTP 从服务器传输文件,遗憾的是它无法识别 PORT 命令。我无法控制服务器(不知道详细的服务器是什么),我必须使用主动模式。
这是命令行:
这是调试输出:
LFTP 似乎放弃连接到数据套接字,因为远程服务器不支持 PORT 命令。有没有办法说服 LFTP 仍然可以连接到端口 20?通过FTP手动显然没有问题。
unix - ls 文件名在 lftp 中不起作用
我创建了一个 lftp 脚本来将单个文件上传到网络托管服务提供商。
用例是我从存储库根目录调用它,因此这里和远程服务器中的相对路径是相同的。
它有效,有一个小但烦人的错误。为了检查它是否真的上传了文件,我ls -l
在最后放了一个。它失败了,我不明白为什么:
我尝试使用rels
,cache flush
但徒劳无功。我正在使用 lftp 4.0.9。
lftp - 使用 lftp 下载和删除远程文件
我不知道如何仅使用命令行使用 lftp 下载和删除远程文件。
使用 bash 也可以。
标志和完整的命令行是什么?我能想到的只是镜像命令,但这会将文件留在远程服务器上。
rsync - lftp 镜像中的错误消息“源:是一个目录”
我在机器 A 上作为用户 A1,密码 P1,并有一个文件夹 L1。我想让它与远程机器 B 上的用户 A2 (P1) 的文件夹 L2 保持同步。我知道 rsync 无法通过 ftp 工作,我在 A 上安装了 lftp。
我在机器 A 上写了一个脚本(我不能在机器 B 上放置任何脚本)
文件被复制,但我收到一条消息“来源:是一个目录”
我尝试了 -R 标志并在 L1 和 L2 的末尾添加 /,但没有用。我怎样才能摆脱这个消息?
bash - 带有 while 循环的数据管道脚本卡在 WAITING_FOR_DEPENDENCIES 状态
我正在尝试在运行 Amazon Linux 64 位的 EC2 实例上运行以下脚本,并安装了一些额外的东西(例如 lftp)作为 ShellCommandActivity 中 Amazon 数据管道的一部分。
如果我删除带有它的行,while
它将运行到完成(ShellCommandActivity 达到 FINISHED 状态)但如果它在那里,则脚本“失败”,即 ShellCommandActivity 最终处于 WAITING_ON_DEPENDENCIES 状态。
不幸的是,在这种情况下,Data Pipeline 服务没有写出任何日志,所以我不确定我为什么会遇到问题,如果我创建一个具有相同图像和实例类型的实例并且我能够成功运行该命令通过登录到盒子自己运行命令。
从代码中可能已经很明显,所有这些的目标是从 sftp 服务器中删除 S3 存储桶中的文件。
笔记:
INPUT1_STAGING_DIR
是一个 S3 存储桶,该部分由数据管道管理,我已经确认这部分工作正常- 脚本实际上都是在一行上执行的;这些行被分解以使其更易于运行,但是在部署时,所有 4 行都连接在一起,每行之间只有一个空格,因此
&&
在每行的末尾和;
第 3 行中的所有行。
为方便起见,这是格式更好的代码: