问题标签 [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.
ftp - 使用多个目录加速 lftp 镜像
我正在尝试将公共 FTP 镜像到本地目录。当我使用wget -m {url}
wget 时,会很快跳过许多已经下载的文件(并且不存在新版本),当我使用lftp open -u user,pass {url}; mirror
then时,在决定是否下载文件之前lftp
发送每个文件。MDTM
在 50,000+ 个目录中有 200 万+ 个文件,这非常慢,除了我收到无法获取目录 MDTM 的错误消息。
在手册中它说 usingset sync-mode off
将导致一次发送所有请求,因此lftp
不会等待每个响应。当我这样做时,我从服务器收到错误消息,说来自我的 IP 地址的连接太多。
我尝试wget
先运行以仅下载较新的文件,但这不会删除已从 FTP 服务器中删除的文件,因此我会继续lftp
删除旧文件,但lftp
仍会在每个文件上发送 MDTM,这意味着存在这种方法没有优势。
如果我使用set ftp:use-mdtm off
,那么似乎lftp
只是再次下载所有文件。
lftp
有人可以建议使用大量目录/文件的正确设置(特别是,它会跳过未更新的目录,就像 wget 似乎做的那样)?
bash - lftp 可以对下载的文件执行命令(作为镜像过程的一部分)吗?
这可能对一个已经非常强大的工具提出了太多要求,但是是否有机会lftp mirror
在镜像过程中(从远程目录到本地计算机)执行命令?
具体示例:lftp
要求将带有xml
文件的远程目录镜像到本地文件夹中,并且一旦下载/更新每个文件,它就会使用xml2json
.
我可以想到一个解决方案,它依赖于监视镜像文件夹的本地副本以进行更改find
,然后xml2json
在新/更新的文件上执行,但也许有更简单的方法?
linux - Shell - LFTP - 多个扩展
我一直在尝试找到一种mget
仅与某些文件扩展名一起使用的方法。
我使用了以下命令(如果我离开就可以了*.csv
)
lftp -e "set xfer:clobber true;mget $SOURCE_DIR*.{csv,txt,xls,xlsx,zip,rar};exit" -u $SOURCE_USERNAME,$SOURCE_PASSWORD $SOURCE_SERVER || exit 0
但没有运气,我收到消息dir/*.{csv,txt,xls,xlsx,zip,rar} no files found
尝试添加括号
lftp -e "set xfer:clobber true;mget $SOURCE_DIR(*.{csv,txt,xls,xlsx,zip,rar});exit" -u $SOURCE_USERNAME,$SOURCE_PASSWORD $SOURCE_SERVER || exit 0
也没有运气
$SOURCE_DIR
/
最后已经有一个斜线
我尝试在本地测试 lftp,但在我的 Vagrant 盒子上打开端口时遇到问题,因此问题
bash - lftp - 重启位置
尝试使用镜像时,lftp
我收到以下输出(-d
调试模式):
当我打开此文件时,文件已损坏 - 文件内容向下移动了几行,然后在其上写入文件的正常副本。例如,如果文件有五行(为简洁起见,没有显示换行符):line1 line2 line3 line4 line5,那么损坏的文件将显示为:line1 line2 line3 line3 line4 line5。
考虑到我在使用这种 ftp/网络组合时遇到的其他问题,我知道这不是问题lftp
。但是,我想知道禁用restart position
更改是否会以某种方式修复那些损坏的文件(至少它适用于其他文件)。通过阅读手册,我可以看到这两个选项:
我不知道这是否与我想要实现的目标相关(强制lftp
始终完整下载数据,而不重新启动位置),或者我想要的原则上是否可以实现。我会通过实际运行这些选项来尝试这些选项,但是当文件损坏时我看不到任何可预测的模式,并且重新下载相同的文件总是会给出正确的版本。所以任何帮助表示赞赏!:)
linux - 如何使用lftp传输分段文件?
我想将一个文件从我的服务器传输到另一个服务器。这些服务器之间的网络不是很好,所以我想使用 lftp 来加速。我的脚本是这样的:
我发现 data.tar.gz 没有分段,但是当我用它来下载文件时,它会起作用。我应该怎么办?
python - 使用 lftp 提取文件并遍历提取的文件
我正在使用lftp
以下命令从 FTP 服务器中提取一些 CSV 数据文件:
这完美运行。但是,在提取 CSV 文件后,我想遍历它们中的每一个,以便使用 Python 脚本修改文件中的一些数据。有没有办法通过lftp
例如将提取的文件分配给变量来直接获取提取的文件?
此时我只需执行以下操作:
但我更愿意直接通过lftp
.
linux - 用于确认 SFTP 上传的日志文件
我正在使用下面的脚本通过 LFTP 访问 SFTP。它在 4/11/16/23 从 cron 运行。由于未知时间间隔的某些未知原因,我遇到了失败。如何打印一个日志文件来确认我正在上传的文件的 ls -l?我希望它可以被包装到现有的脚本中。有没有比 ls -l 更好的方法来记录确认?
bash - 将 LFTP 结果输出到变量
如何将LFTP
结果保存在变量中,以便稍后在脚本中使用它。
这是我的基本命令:
lftp -c 'open -e "mirror /path/to/remote /path/to/local/" ftp://username:password@ftp.domain.com:21'
这显然是行不通的:
编辑:
似乎问题是使用lftp -c
不会产生任何输出。因此变量为空。所以问题是从lftp
.
bash - LFTP 遇到问题。连接到 Firezilla 时出现套接字错误
我有一个 bash 脚本,我试图在我的 hostgator 帐户上运行。
上面的脚本从客户端(hostgator)给我留下了以下错误代码:
服务器系统是在 windows 10 上运行的 firezilla。
我不知道这是怎么回事?任何人都可以发出一些光吗?我已经挖掘了几个小时,无法弄清楚。
ftp - 使用 lftp 与 vsftd 建立安全 ftp 连接时出错:gnutls_record_recv
尝试使用带有 FTPS(基于 SSL 的 FTP)的 lftp 联系 vsftpd。但是我不断收到这样的错误:
解决办法是什么?