我正在通过shell脚本文件中的sftp进行连接,并尝试-mget
来自多个目录的所有文件,如下所示:
sshpass -p $password sftp -oBatchMode=no -o StrictHostKeyChecking=no -b - $user@$host 1>$currentdir/ftp.log << !
cd /DAILY_FEEDS/abc/in/xml/
-mget *.*
cd /DAILY_FEEDS/abc/in/pdf/
ls * tp_pdf.lst
-mget *.*
cd /DAILY_FEEDS/abc/in/images/
-mget *.*
cd /DAILY_FEEDS/xyz/in/xml/
-mget *.*
cd /DAILY_FEEDS/xyz/in/pdf/
-mget *.*
cd /DAILY_FEEDS/xyz/in/images/
-mget *.*
cd /DAILY_FEEDS/xyz/in/pdfmetaxml/
-mget *.*
bye
!
当任何文件为空时,进程继续跳过。在上面的场景中,如果/DAILY_FEEDS/abc/in/images/
没有图像并且稍后在/DAILY_FEED/xyz/in/xml/
目录中具有文件,则其在abc/in/images
之后不拾取。
您必须首先检查文件夹中是否存在任何文件。如果存在文件,则使用";mget";若要下载文件,请转到下一个文件夹。
"mget";为我工作。