[Shell Script] retry_script.sh - 코드 자동 재실행 쉘 스크립트
코드 자동 재실행 쉘 스크립트
max_attempts=10000
attempt=1
exit_code=1
while [[ $attempt -le $max_attempts && $exit_code -ne 0 ]]; do
echo "Attempt $attempt"
python recipe_crawl.py # 원하는 파일으로 수정
exit_code=$?
((attempt++))
sleep 300 # 5분후 재실행
done
if [[ $exit_code -ne 0 ]]; then
echo "Failed after $max_attempts attempts"
fi
max_attempts
변수에 최대 시도 횟수를 설정합니다. 이 변수는 스크립트가 실행될 때 변경할 수 있습니다.attempt
변수를 1로 초기화합니다. 이 변수는 현재 시도 횟수를 나타냅니다.-
exit_code
변수를 1로 초기화합니다. 이 변수는recipe_crawl.py
스크립트의 종료 코드(exit code)를 저장합니다.while
루프에서 현재 시도 횟수가 최대 시도 횟수 이하이고exit_code
가 0이 아닐 때까지 반복합니다.각 시도에서 “Attempt [시도 번호]” 메시지를 출력합니다.python recipe_crawl.py
명령을 실행하여recipe_crawl.py
스크립트를 실행합니다.exit_code
변수에recipe_crawl.py
스크립트의 종료 코드를 저장합니다.attempt
변수를 증가시킵니다.sleep
300초(5분) 동안 대기합니다.
while
루프가 종료되면, 최대 시도 횟수를 모두 사용했거나recipe_crawl.py
스크립트의 종료 코드가 0이 아닌 경우 “Failed after [시도 횟수] attempts” 메시지를 출력합니다.
이 스크립트를 실행하면 recipe_crawl.py
스크립트를 최대 시도 횟수까지 반복 실행하며, 실행이 실패한 경우 메시지가 출력됩니다. recipe_crawl.py
스크립트가 실행되는 동안 각 시도마다 5분씩 대기합니다. 필요에 따라 max_attempts
변수의 값을 조정하여 실행할 시도 횟수를 변경할 수 있습니다.
실행 :
bash retry_script.sh
댓글남기기