- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 GitLab Community Edition 和 GitLab runner CI 安装程序使用 LFTP 在服务器上部署(同步)一堆 JSON 文件。然而,这项工作似乎大约每 10 个文件“卡住”几分钟。有时必须同步大约 400 个文件,这项工作就会崩溃,因为有时需要一个多小时才能完成。 JSON 文件都是 1KB。源服务器和目标服务器都不应该有任何限制 FTP 速率的防火墙。两者都托管在 OVH。
执行以下 LFTP 命令以同步所有内容:
lftp -v -c "set sftp:auto-confirm true; open sftp://$DEVELOPMENT_DEPLOY_USER:$DEVELOPMENT_DEPLOY_PASSWORD@$DEVELOPMENT_DEPLOY_HOST:$DEVELOPMENT_DEPLOY_PORT; mirror -Rev ./configuration_files configuration/configuration_files --exclude .* --exclude .*/ --include ./*.json"
作业在 Docker 中运行,使用 this容器来部署一切。什么可能导致这种情况?
最佳答案
对于那些来自谷歌的人,我们有完全相同的设置。在 docker 或其他一些 CI 中运行时让 LFTP 停止挂起的方法你可以使用这个命令:
lftp -c "set net:timeout 5; set net:max-retries 2; set net:reconnect-interval-base 5; set ftp:ssl-force yes; set ftp:ssl-protect-data true; open -u $USERNAME,$PASSWORD $HOST; mirror dist / -Renv --parallel=10"
这会做几件事:
它使它不会永远等待或进入连续循环当它不能执行命令时。这应该会加快速度。
确保我们使用的是 SSL/TLS。如果你不需要这个删除那些选项。
将一个文件夹同步到新位置。选项 -Renv
可以在这里解释:https://lftp.yar.ru/lftp-man.html
最后,在 gitlab CI 中,我将作业设置为在失败时重试。这将启动一个新的 docker 实例,绕过任何打开的文件或连接限制。上面的 LFTP 命令将再次运行,但由于我们使用了 -n
标志,如果它不成功,它只会移动在第一个作业中丢失的文件。这样可以毫不费力地移动所有内容。您可以在此处阅读有关 CI 作业重试的更多信息:https://docs.gitlab.com/ee/ci/yaml/#retry
关于docker - 使用 LFTP 的持续部署在大约 10 个文件后暂时获得 "stuck",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49843692/
只有在今天(我运行 LFTP 的同一天)创建了该文件时,如何让 LFTP 从远程服务器下载该文件? 最佳答案 使用镜像。 它有这个 --newer-than=SPEC 选项来只下载比指定时间更新的文件
我不知道如何使用 lftp 仅使用命令行下载和删除远程文件。 使用 bash 也可以。 什么是标志和完整的命令行?我所能弄清楚的就是 mirror 命令,但这会在远程服务器上留下文件。 最佳答案 终于
lftp可以获取符号链接(symbolic link)指向的文件,但是如果这些文件位于符号链接(symbolic link)所代表的目录中,是否可以获取这些文件?例如,我希望在以下位置获取文件 ftp
我正在使用以下命令来设置 lftp 命令的超时,以便如果服务器不可用或不接受任何新连接,该命令将在 10 秒后结束。 lftp -e 'set ftp:passive-mode true; set n
当我尝试连接到已关闭的主机时,我收到以下消息: cd `sftp://example.com/tmp' [Delaying before reconnect: 30] 每次尝试后,延迟都会增加。我发现
我似乎无法在 Ubuntu 服务器上将 LFTP 与需要正确身份验证的代理一起使用。当我将它与不需要用户名/密码的代理一起使用时,一切看起来都很好: lftp lftp :~> set http:pr
我似乎无法将 LFTP 与需要在我的 Ubuntu 服务器上正确验证的代理一起使用。当我将它与不需要用户名/密码的代理一起使用时,一切似乎都很好: lftp lftp :~> set http:pro
我正在尝试使用如下脚本运行 lftp: $ lftp -f deploy.scp 但是我想在 deploy.scp 中为 l/p 使用环境变量,如下所示: open -u $FTP_USER,$FTP
我有这行代码: #!/bin/bash USER="root" PASS="sjkndkfjnweif" SERVER="192.168.1.1" SOURCE="/var/www/a1/" TARG
在使用 lftp 时,当 xfer:log 设置为“yes”时,它会将文件传输记录到 ~/.lftp/transfer_log。 同时运行两个lftp实例会发生什么?日志文件会不会混淆? 有没有办法改
如果目录不存在,我想使用 LFTP 创建一个目录。应该是“一行”: 这已经有效了: lftp -c "open -u user,pass server; mkdir/test lftp -c "ope
利用了 bash 和 lftp 的自动登录功能 lftp 支持 ftp ssh 等多种登录协议 复制代码 代码如下: #!/bin/bash echo "script start a
我使用 lftp 将文件从 Cloud 9 IDE 传输到远程主机。最近,它似乎停止了工作。我已经向主人提出了这个问题,他们认为它工作正常。事实上,我可以通过 FileZilla 和一个简单的浏览器连
我正在尝试将公共(public) FTP 镜像到本地目录。当我使用 wget -m {url} 时,当我使用 lftp open -u user,pass {网址}; mirror 然后 lftp 在
我写了一个脚本,可以一次同步多个服务器。我的问题之一是我无法让 LFTP 保留初始文件修改时间。所以基本上,它总是上传所有文件,而只有一些文件发生了变化。 您知道如何强制LFTP在下载或上传时保留文件
我正在使用 lftp 将文件从本地传输到仅允许 SFTP 访问的远程服务器。 我使用以下语法来传输文件: lftp -c "open -u $UN,$Pass sftp://$Server ; mir
我可以将ftp服务器的用户名/密码对保存在某个本地配置文件中,以便lftp在连接到该服务器时自动找到它们吗? 背景:我有一个脚本,供具有不同用户名/密码对的多个用户使用,以将某些生成的内容从存储库同步
有没有用Java编写的LFTP客户端?我需要使用 FTP 将现有应用程序迁移到 LFTP,但限制是使用纯 Java。 提前致谢。 最佳答案 LFTP 是一个程序,而不是协议(protocol)/服务器
我正在尝试使用 LFTP 从服务器上下载新文件,而且似乎运行良好。但是,每次运行脚本时,都会收到“未知命令 `;'”错误,然后是回显“下载完成”。我已经挖掘了大量资源,但似乎没有发现任何错误,这是脚本
我一直在努力寻找一种方法来使用 mget 并仅使用某些文件扩展名。 我使用了以下命令(如果我离开 *.csv 就可以正常工作) lftp -e "set xfer:clobber true;mget
我是一名优秀的程序员,十分优秀!