2017-10-09 16 views
1

LFTP를 사용하여 파일을 전송하는 동안 특정 오류를 잡으려고하는데, 대화 형 셸로 연결할 수 있도록 <<EOF을 호출하기 때문에 문제를 잡을 수 없습니다. 다음과 같이LFTP 배쉬 스크립트에서 오류 잡기

내가 사용하고있는 코드는 다음과 같습니다

인사가 닫혀 대화 형 세션이라고하지만, 아무 것도 & & 후 실행되지 도착 분명히
#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 

.

누구나 특정 오류 포착을 수행하는 방법에 대한 아이디어가 있습니까?

+0

당신이 트랩 대신'||'와'&& '연산자를 사용하여 시도? – Aserre

+0

그 수준의 검사를 받으려면'Tcl/expect'를 사용해야 할 것 같습니다. –

+0

@Aserre - 아직 시도하지 않은 상태에서 시도해 보겠습니다. – thezadmin

답변

0

사용 괄호를 그룹화 명령을 사용할 수 있습니다

open... || (shell send-mail; exit 1)