WordPressの「データベース接続確率エラー」2
メモリを拡張すると落ちる頻度は劇的に減りましたが、それでもたまに落ちている。落ちた時にブログのメモを見ようにも落ちていて見れないw
そこで流行りのChatGPTに死活監視をして、死んでいたらメールで通知してもらうシェルを作る様にお願いしました。
以下の様にお願いしました。流行りのプロンプト的に
1 2 3 4 5 |
あなたはlinuxのバッチプログラマーです。 あるサイトの死活監視をするバッチプログラムを作成してください。 また、死んでいる場合、メールで通知できる様にしてください # 制約事項 - bash # 出力形式 プログラム |
回答結果は以下の通り、完璧!うごきそう
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/bash # サイトのURL url="https://example.com" # メールの宛先 to="user@example.com" # メールの件名 subject="Site Down Alert" # サイトのHTTPステータスコードをチェック http_status=$(curl -s -o /dev/null -w "%{http_code}" $url) # ステータスコードが200以外の場合、メールで通知 if [ $http_status -ne 200 ]; then message="The site $url is down with HTTP status code $http_status." echo $message echo $message | mail -s "$subject" $to fi |
さらに、以下の通り
スクリプトを定期的に実行するには、cronジョブを設定することができます。たとえば、5分ごとにスクリプトを実行するには、次の行をcrontabファイルに追加します。
1 |
*/5 * * * * /path/to/site-monitor.sh |
もう、先回りの回答までできる、優秀なプログラマーさんですw
最終的に、メールだけではもったいないので、DB再起動を追加する様にしました。サイクルは10分にしているので、最長10分のサイトダウンまで許すようにしました。
echo $message | mail -s “$subject” $to
systemctl restart mariadb.service #DB再起動を追加
細かいことを言えば、作成したシェルを適当に配置して、テストする時にシェルの権限付与のコマンドも教えてもらった(chmodは覚えてたけど、ファイルと権限の引数の順番をわすれていたw)
恐るべし ChatGPT と言うことでした