오류 보고서를 보낼 때 스크립트가 기능을 종료하지 않습니다.

오류 보고서를 보낼 때 스크립트가 기능을 종료하지 않습니다.

스크립트를 시작하면 여전히 프로세스 상태이고 메일을 보낸 후 함수에 오류가 발생합니다.

#!/bin/bash
LOG_FILE=/data/logs/file.log
DATE="$(date +%Y%m%d --date="1 day ago")"
##### STEPS #####

### STEP 1:

step_1(){
curl --location --request GET "http://url"
sleep 1m

if  grep -q 'completed!' $LOG_FILE | tail -1 ;then
        report_step_1
        step_2
else
        report_error_step_1
        exit 1
fi
}

### STEP 2:

step_2(){
curl --location --request GET "http://url"
sleep 30m
if  grep -q 'Generete Revenue File completed' $LOG_FILE | tail -1 ;then
        report_step_2
        step_3
else
        report_error_step_2
        exit 1
fi
}

### STEP 3:

step_3(){
curl --location --request GET "http:url"
sleep 30m
if  grep -q 'File correctly sent via ftp' $LOG_FILE | tail -3 ;then
        report_step_3
else
        report_error_step_3
        exit 1
fi
}

report_step_1(){
mail -s "OK" "mail" <<< "STEP 1 completato con successo"
}

report_step_2(){
mail -s "OK" "mail" <<< "STEP 2 completato con successo"
}

report_step_3(){
mail -s "OK" "mail" <<< "STEP 3 completato con successo"
}

report_error_step_1(){
mail -s "FAILED" "mail" <<< "Attenzione: STEP 1 fallito"
exit 5
}

report_error_step_2(){
mail -s "FAILED" "mail" <<< "Attenzione: STEP 2 fallito"
exit 5
}

report_error_step_3(){
mail -s "FAILED" "mail" <<< "Attenzione: STEP 3 fallito"
exit 5
}

step_1
exit 0

누군가가 살펴보고 왜 출구가 작동하지 않는지, 그리고 다른 기능에서 모든 출구가 올바르게 구성되었는지 말해 줄 수 있습니까?

관련 정보