Gadget 26:運用の自動化
日次・週次の運用タスクをスクリプト化して、忘れず・速く・再現性よくする
運用の自動化
繰り返しの運用タスクを自動化し、「忘れない・速い・同じ結果」を手に入れます。
目的
- 日次 / 週次タスクをスクリプト化する
- 属人作業を減らし、次の人でも回せる運用にする
前提条件
- cron / launchd / タイマーが使える環境
- ログ・バックアップの知識(05-logs-cheatsheet / 07-backup-restore)
自動化タスクの例
| 頻度 | タスク | スクリプト例 |
|---|---|---|
| 日次 | ヘルスチェック+通知 | 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 タスク 1 スクリプトに(test で動くまで繰り返す)
- cron / launchd に登録(実行ログを残す)
- 実行結果をログで確認する運用にする
Warning自動化が止まる時
マイナスの継続は事故を呼びます。自動化のログチェック自体を日次ルーチンに 組み込みましょう。一度動かせば終わり、ではなく監視対象です。
よくある失敗
| 症状 | 原因 | 対処 |
|---|---|---|
| 自動化が動いていない | cron 未登録・パス違い | 手動実行→cron 対応を確認 |
| 同じ処理が二重実行 | 複数登録 | pgrep で多重起動防止 |
| ログが残らない | リダイレクト漏れ | >> log 2>&1 を必ず付ける |
| 環境依存で動かない | PATH が違う | 絶対パス・#!/bin/bash を明示 |
確認
次に読む
- 保守カレンダー → 27-maintenance-schedule
- コピペスクリプト → 22-sample-configs
- 監視 → 18-monitoring-and-alerting