Gadget 26:運用の自動化

日次・週次の運用タスクをスクリプト化して、忘れず・速く・再現性よくする

運用の自動化

繰り返しの運用タスクを自動化し、「忘れない・速い・同じ結果」を手に入れます。

目的

  • 日次 / 週次タスクをスクリプト化する
  • 属人作業を減らし、次の人でも回せる運用にする

前提条件

自動化タスクの例

頻度 タスク スクリプト例
日次 ヘルスチェック+通知 22 例 B
日次 ログの tarball 化 tar czf /var/log/cfos-$(date +%F).tgz ...
週次 バックアップ 22 例 C
週次 容量・リソース確認 du / free の結果をファイル化
月次 費用・使用量チェック 25
# cron 例(macOS は launchd を推奨)
0 1 * * * /usr/local/bin/cfos-backup.sh     # 毎日 01:00
25 3 * * 0 /usr/local/bin/cfos-weekly.sh    # 毎週日曜 03:25

手順

  1. 繰り返し作業を書き出す(日次/週次/月次)
  2. 1 タスク 1 スクリプトに(test で動くまで繰り返す)
  3. cron / launchd に登録(実行ログを残す)
  4. 実行結果をログで確認する運用にする
Warning自動化が止まる時

マイナスの継続は事故を呼びます。自動化のログチェック自体を日次ルーチンに 組み込みましょう。一度動かせば終わり、ではなく監視対象です。

よくある失敗

症状 原因 対処
自動化が動いていない cron 未登録・パス違い 手動実行→cron 対応を確認
同じ処理が二重実行 複数登録 pgrep で多重起動防止
ログが残らない リダイレクト漏れ >> log 2>&1 を必ず付ける
環境依存で動かない PATH が違う 絶対パス・#!/bin/bash を明示

確認

次に読む