$ crontab -e
*/1 * * * * /bin/bash /Users/saneatsuwakana/Code/AlgoAge/05_ChatbotProject/chatbot_webapp/sns_manager/app/health_check.sh
1分毎にシェルを叩く
$ crontab crontab
$ crontab -l # 確認されているかチェック
Macでは以下のパスでエラーや出力ログは見れる
$ tail /var/mail/saneatsuwakana
https://gitlab.com/double-y/chatbot_webapp/tree/master/question_cron
crontabは以下のように1分ごとにシェルを実行するように
*/1 * * * * /bin/bash /Users/saneatsuwakana/Code/AlgoAge/05_ChatbotProject/chatbot_webapp/sns_manager/app/health_check.sh
シェルはcurlの結果がない場合はdockerを再起動する
#!/bin/sh
result=$(curl -X GET http://localhost:5000/api/health)
if [[ $result == *"ok"* ]]; then
echo "good"
else
echo "bad"
eval "sudo docker-compose down && sudo docker-compose up -d sns_manager_https_portal"
fi
https://teratail.com/questions/69523
# For cron
RUN apt-get update
RUN apt-get install -y cron
RUN apt-get install vim
cronで実行するファイルの中にバグがある可能性があるので
*/1 * * * * /bin/bash /code/app/health_check.sh
とかを実行したいなら先に
/bin/bash /code/app/health_check.sh
でエラーがでないことを確認する。
今回の場合は実際にエラーが発生した。