使用Bash从SFTP服务器递归下载文件

时间:2016-11-24 07:24:20

标签: bash curl sftp

我获得了SFTP服务器IP ADDRESS |用户名|密码。每天,SFTP服务器可能具有N个拉链,格式为“2016_11_02_1.zip”。我知道,如何使用cURL下载文件。

$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服务器上的可用zip文件(2016_11_02_1.zip,2016_11_02_2.zip,2016_11_02_3.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 )的情况下下载文件。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

rsync -av user@nowhere.com:/path/to/`date +%Y`*