リトライ処理やロック処理をシェルスクリプトでどうやるか調べたのでまとめます。リトライ処理を実装できた。$RETRY_INTERVALdoneロック処理こちらの記事が参考になりました。https://heartbeats.jp/hbblog/2013/10/atomic03.html#moreシンボリックリンクを作成するときに、作成先にすでにファイルが存在するとエラーとなります。そのため、ロックファイルをシンボリックリンクとして作成を試みれば、ロックファイルが存在すればエラーが発生するため、ロックファイルが存在すると判断し処理を中断できます。ロックファイルが存在しなければ、ロックファイルがシンボリックリンクとして作成されます。「ロックファイルの確認」と「ロックファイルの作成」が同時に行われるため、安全にロックすることができるのです。普通のファイルとしてロックファイルを作成する方法での問題はシンボリックリンクの場合は起きません。以下のようにシンボリックリンクを作成することでアトミックにロックファイルを作成することができます。0このようにロックファイルの確認と作成を別々に行うとアトミックなファイルの扱いにはならないので要注意です。1fiそれでは実際にリトライ処理とロック処理を使ってシェルスクリプトを書いてみましょう。Apache再起動を実行し、1分間はApache再起動が実行されないスクリプトを書いてみます。これをCronなどで3分毎に実行させればWEBサーバで応答に時間がかかっている時の障害対応を自動化できますね。ロックファイルを設置して排他制御を行うことで、Apache再起動が何度も実行されないように実装ができます。fifi障害対応の自動化で他によいものがあれば教えて下さい。今回のアトミックなファイルの取扱いの考え方は自分ひとりではなかなか気づかなかったです。14:50シェルスクリプトでのリトライ処理とロック処理Tweet広告を非表示にする関連記事2018-08-25Linuxサーバをセキュアな環境にするLinuxサーバでセキュアな設定についてまとめてみました。ハンズオンをやりました。月別アーカイブはてなブログをはじめよう!oza__shuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。