问题标签 [ncftp]
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 - 如何列出受 tar 命令影响的所有文件?
我们运行一个每日备份脚本,将一个大的 tar 文件放在远程 ftp 服务器上(使用 ncftpput)。我们需要有这个文件的本地内容列表(“ls -la”或“tar -tvz”),而不是在传输之前在本地创建这个大文件,并且在远程保存后不下载这个文件。备份脚本运行几个小时。因此,没有文件大小和时间戳的详细信息的 tar 的详细输出是不够的,几个小时后对这些文件运行“ls -la”也不是一个好的选择。
创建上述内容列表的最佳方法是什么?
有没有比创建索引文件(使用 tar 选项“v”和“--index-file=file”)并在数小时后运行另一个本地脚本以获得更多文件信息(时间戳和大小 - 可能已经改变)更好的方法与此同时)?
iis - IIS6 服务器不允许 ncftpget 递归下载文件
我正在使用带有 IIS 6.0 的旧 Windows 2003 服务器。该服务器上当前有一个正在生产的 FTP 站点,我需要添加另一个站点,我使用虚拟目录完成了该站点。我可以手动登录,深入浏览多个目录并一次下载一个文件,而不会引发任何错误。但是,当我尝试递归下载时,它只会抓取我指定的远程目录根目录中的文件和文件夹。我在另一台 Windows 2003 服务器上运行了相同的目录结构,并且使用相同的批处理脚本递归下载所有内容没有问题,所以我确定问题不在于那个。我完全不知道接下来要研究什么。我已经验证我正在登录的用户对整个目录结构具有 Windows 权限,
我还应该提到,也没有返回错误消息。我还查看了服务器上的日志文件,也没有显示任何错误,只是它实际下载的每个文件和文件夹的记录,没有参考它跳过的那些。如果有人好奇,我用来下载的客户端是 ncftpget。我在应用程序中使用它,因此无法更改客户端,同一客户端正在另一台具有相同参数的服务器上使用,没有问题。
file-upload - NcFTP -S 和 -bb
我正在尝试将所有更改的文件上传到我的 FTP 服务器。但是,当我使用标志时,我不能使用-S .tmp
--v
而且-bb
我根本不能使用这些选项ncftpbatch
。这是我的代码:
如您所见,我需要-S .tmp
避免在上传过程中破坏网站。-v
提供输出以防止我的 CI 服务超时。
我怎样才能只上传更改的文件 - 而不会暂时破坏网站?我正在考虑只为每个文件单独登录,但这是不好的做法。
ncftp - 如何使用 ncftpget 覆盖现有文件?
当获取本地目的地中存在的远程 ftp 文件时
ncftpget
说
local file appears to be the same as the remote file, download is not necessary.
是什么appears
意思?如何ncftpget
检查这是否是同一个文件?
似乎它比较了文件的时间和大小。但它是比较内容还是至少是校验和?
有没有办法强制覆盖现有文件。当然,除了先删除它。
deployment - ncftp 部署(通过 butbucket 管道)得到“服务器说:www:没有这样的文件或目录”,但 filezilla 中的路径完全正确
我正在尝试通过 ftp 通过 bitbucket 管道自动部署。
路径是:
尝试使用和不使用第一个正斜杠。还检查了连接时的默认路径及其 maindomain.com/subdomain.maindomain.com - 也尝试过,但同样的错误。
代码如下所示:
但问题是 ncftp 无论如何都不喜欢上传的文件路径。在导航到该文件夹并使用完全相同的凭据连接后,我一直在使用出现在 filezilla 中的那个。
我怎样才能找到正确的路径或解决这个问题?
redirect - 如何将 ncftpget 的控制台输出重定向到日志?
我想在下载过程中捕获进度信息。我已经尝试过,例如从 cmd 提示符:
Mylog 总是以 0 字节写入,除非要下载的文件已经存在。在这种情况下,我会收到一条 92 字节的错误消息。该问题似乎特定于 ncftpget。它适用于 Windows 10 ftp。
bash - 如何使用 ncftp 获取文件名列表?
所以我尝试了
这给了我一个清单
但我想要的只是检查时间戳(这是 tar.gz 的名称)如何只获取时间戳列表?
根据要求,我想做的就是删除旧的备份,所以 awk 是一个好主意(至少它是有效的),即使它不是正确的 params。我删除旧备份的方法可能不是最好的,但它有效
bash - 如何将`ls -l`的输出解析为bash中的多个变量?
关于这个主题已经有一些答案,但几乎所有人都说解析 的输出很糟糕ls -l
,因此建议使用其他方法。
但是,我正在使用ncftpls -l
,因此我不能使用 shell glob 之类的东西,或者find
– 我认为我确实需要实际解析ls -l
输出。如果您不熟悉ncftpls
,请不要担心,输出返回的格式与您刚刚使用 的格式完全相同ls -l
。
在公共远程 ftp 目录中有一个文件列表,我不想在每次我的 cronjob 触发时重新下载每个所需的文件来加重远程服务器的负担。我想检查,对于 ftp 目录中的每个文件子集,该文件是否在本地存在;如果没有,请下载它。
这很容易,我只是使用
但是我遇到了一个问题,有时 cron 作业会下载一个尚未完成上传的文件,因此当它下次触发时,它会跳过部分下载的文件。
所以我想添加一个检查,以确保对于我已经拥有的每个文件,本地文件大小与远程服务器上相同文件的大小相匹配。
我在考虑解析ncftpls -l
和使用awk的输出,比如
但我似乎无法在循环的同一迭代中将文件名和文件大小从服务器获取到局部变量中;每次迭代时,$i 在 awk 字符串中的 $9 和 $5 之间交替。
如果我能设法在每次迭代中将文件名和文件大小放入单独的变量中,我可以简单地使用stat -c "%s" $i
来获取本地大小并将其与远程大小进行比较。然后它对ncftpget
我还没有的每个远程文件都很简单。我也对同步程序进行lftp
了修改,但运气不佳,宁愿这样做。
任何帮助表示赞赏!