目前我正在使用以下命令将整个目录从 SFTP 服务器下载到我们自己的。问题是,这个目录每天都在变大,其中的大部分文件都不是必需的。所以我今天要做的是下载整个文件夹,然后清理不必要的文件夹。
但是我们的客户并不喜欢这种解决方案,因为它会导致大量的文件传输(他们为此付费)。
当前版本:
sshpass -p $FTP_PASS sftp -o StrictHostKeyChecking=no -o HostKeyAlgorithms=+ssh-dss [USERNAME]@[SFTP_DOMAIN].com <<EOF
get -r Export
EOF
我想改进这个脚本,以便脚本搜索以特定字符串开头的文件,而不是下载整个文件夹,然后才能获取它们的最新版本。
例如
我们正在寻找以 or 或 or 开头的最新版本,Subscribers_Extracts
我们Clicks
在Account_Extract
目录中有以下列表:
Subscribers_Extracts_1.csv
Subscribers_Extracts_2.csv
Subscribers_Extracts_3.csv
Subscribers_Extracts_4.csv (latest modified)
Clicks_ftyftyf.csv
Clicks_67546754675.csv (latest modified)
Clicks_783635ghgh.csv
Account_Extract_uguyfuyfuf.csv
然后我们应该下载的文件将是
Subscribers_Extracts_4.csv
Clicks_67546754675.csv
Account_Extract.csv
请注意,我们根据修改日期而不是名称上的数字来选择文件。
另请注意,最后一个类型 akaAccount_Extract.csv
是唯一与第三个模式匹配的文件,因此无论其修改日期如何,我们都会收到该文件。
如何为客户节省大量数据传输?