2016-11-24 89 views
0

我给出了一个SFTP服务器IP ADDRESS |用户名|密码。每天,SFTP服务器可能会有一些“2016_11_02_1.zip”格式的N个拉链。我知道,如何使用cURL下载文件。现在使用Bash递归地从SFTP服务器下载文件

$curl -u xxxxx:xxxxx sftp://x.x.x.x/path/to/2016_11_02_1.zip 
$curl -u xxxxx:xxxxx sftp://x.x.x.x/path/to/2016_11_02_2.zip 

,我会写一个脚本下载SFTP服务器(2016_11_02_1.zip,2016_11_02_2.zip,2016_11_02_3.zip)可用的zip文件。几个小时后,可能会添加SFTP服务器2016_11_02_4.zip ..... 2016_11_02_30.zip.

如何下载文件而无需下载已下载的ZIP文件(2016_11_02_1.zip , 2016_11_02_2.zip , 2016_11_02_3.zip)

有什么建议吗?

+1

您可以通过ssh访问服务器吗?如果是这样,那么我会建议'rsync'。 – Cyrus

+0

@Cyrus是的,我可以通过SSH访问。我也会看看rsync。 – Arun

回答

1

你还有以前下载的文件吗?如果是这样,您可以检查本地磁盘上是否存在具有该名称的文件。

+0

是的,我将有以前下载的文件。现在,我将不得不比较我本地磁盘上的文件以及SFTP服务器。如果有任何共同点,请跳过并下载不存在的文件。 – Arun

+0

听起来没错。你可以标记我的答案是正确的吗? –

+0

顺便说一句,这正是rsync为你做的,除非更好... – spinkus

1

如果通过SFTP指的是安全的FTP,您可以使用支持SSH的rsync(> = 3.X我认为),因为SFTP是SSH的一部分。例如:

rsync -av [email protected]:/path/to/`date +%Y`* 
相关问题