SFTPスクリプトがすべてのファイルをダウンロードしない

SFTPスクリプトがすべてのファイルをダウンロードしない

BCP11,BCP12,BCP13,BCP14.....BCPXXどのフォルダにBCPDUMPファイルがあるかなど、サーバーフォルダの次の詳細を含むsftpファイルスクリプトがあります。

ファイル名: file_sftp.sh

#!/usr/bin/expect
spawn sftp [email protected]
expect "[email protected]'s password:"
send "password\n"
expect "sftp>"
send "get *Backup/GetBackup/BCP*/*BCPDUMP/20150925/20150925_profile*\n"
expect "sftp>"
send "bye\n"

このスクリプトを実行すると、サーバーには約12個のファイルがありますが、私は1つのファイルのみを取得します。次のスクリプト出力が表示されます。

spawn sftp [email protected]  
Connecting to xx.xxx.x.xxx...  
Password:  
sftp> get *Backup/GetBackup/BCP*/*BCPDUMP/20150925/20150925_profile*  
Couldn't get handle: No such file or directory^M  
Couldn't get handle: No such file or directory^M  
Couldn't get handle: No such file or directory^M  
Fetching   /rsi/Backup/GetBackup/BCP10/BCPDUMP/20150925/20150925_profile_410.list.Z to 20150925_profile_410.list.Z
^M/rsi/Backup/GetBackup/BCP10/BCPDUMP/20150925/20150925_profile_410.list.Z 0%    0     0.0KB/s   --:-- ETA^M/rsi/Backup/GetBackup/BCP10/BCPDUMP/20150925/20150925_profile_410.list.Z                                                           66% 1152KB   1.1MB/s   00:00 ETA^M/rsi/Backup/GetBackup/BCP10/BCPDUMP/20150925/20150925_profile_410.list.Z                                                          100% 1730KB 864.9KB/s   00:02  

答え1

ディレクトリを検索しようとしているのでget -r

答え2

BCP* および *BCPDUMP ディレクトリーの名前が既にわかっている場合は、すべての (*) に対して 1 行に 1 回だけこの文字を使用してみてください。

別の行にディレクトリ名を入力するのが悪いと思う場合は、コマンドを使用してすべてのディレクトリを一覧ls表示して配列に配置できます。次に、各ディレクトリまたは他の配列値パスに使用可能なすべてのファイルをダウンロードします。 。

答え3

command時間がかかる場合は、次の設定を試してください。

send "command\r"
expect { 
    timeout { 
        puts "Running..." 
        exp_continue 
    } 
    "%PROMPT%" { 
        puts "Finished." 
    } 
}
send "next command\r"

引き続き注文をtimeout待ちます。exp_continue%PROMPT%

答え4

なぜ期待を使うのか分かりません。

シェルスクリプトでこのスニペットを使用してください...

 ftp -i -n ftp.somehost.com  <<-EOF
   user somelogin somepassword
   mget *
   bye
   EOF

各行(user、mget、bye、EOF)は「タブ」文字で始まります。

また、特定のファイルセットを取得する場合(2つのファイルより大きい場合)

 mget file1 file2 file3 file4 ... filen

関連情報