1
LFTPを使用してファイルを転送中に特定のエラーを検出しようとしましたが、問題があります。<<EOF
を呼び出して対話型シェルとのインターフェイスが可能です。次のようにLFTP Bashスクリプトのエラーをキャッチ
私が使用していたコードは次のとおりです。BYEが呼び出されたときに
#Start backup procedure
lftp<<EOF
open ftps://$HOST || bye && #SEND MAIL CANNOT CONNECT TO SERVER (ERROR)
login $USER $PASSWORD || #SEND MAIL AUTH FAILURE (ERROR)
#Remove existing backups on FTP server
glob -a rm -r ./* || bye && #SEND MAIL FAILED (WARNING) TO REMOVE PREVIOUS BACKUPS
#Upload new backup to FTP server
lcd /var/opt/gitlab/backups
mput *.tar || bye && #SEND EMAIL (ERROR) FAILED TO UPLOAD FILES
bye
EOF
は明らかに、対話型セッションが閉じられているが、何も& &後に実行されないされます。
誰かがこのような特定のエラーをキャッチする方法についての任意のアイデアを持っていますか?
があなたの代わりに、 '||'と '&&'演算子のトラップを使用してみましたか? – Aserre
私はあなたがそのレベルのチェックを得るために 'Tcl/expect'に向ける必要があると思っています。 –
@Aserre - まだ試してみませんか、試してみましょう。 – thezadmin