flock は、同じ処理を同時に走らせないように排他ロックをかけるときによく使う Linux の仕組みです。
シェルスクリプトの二重起動防止や、定期ジョブの競合防止でよく使われます。
たとえば、デプロイスクリプトやバックアップスクリプトが同時に動くと、OOM やファイル競合を起こすことがあります。
そういうときに いま実行中なら次はやめる という制御を入れやすいのが flock です。
まず押さえたいポイント
- 排他制御のための仕組み
- シェルスクリプトの二重起動防止でよく使う
- デプロイや cron ジョブと相性がよい
実務で見るポイント
- 同時ビルドや同時実行を止めたい場面で便利
- エラー時の終了コードやメッセージも合わせて整えると分かりやすい
ロックを取れなければ中止するのが基本パターン