cron ジョブ・自動化タスク
// AUTOMATION — 全ホスト cron / systemd timer 一覧 / 最終更新: 2026-05-14
運用中 自動化されてるタスクの棚卸し。 通知は全部 Telegram に飛ばす
1. R640 (katuo) — 自動化タスク
| 種類 | 名前 | 周期 | 用途 |
|---|---|---|---|
| cron | wp-katuocloud-db-backup | daily 02:30 | WP DB dump → /mnt/data/backup/wp/katuocloud_wp/*.sql.gz (14日保持)、 失敗+サイズ異常で通知 |
| cron | cert-watch | daily 06:30 | LE 全証明書 (katuocloud.com / cloud.k2-o.net / office.k2-o.net / office.wan-secure.net / admin.wan-secure.net) を <14日警告 + 失効通知 |
| timer | perc-watch.timer | 5min | PERC H730P 配下の SAS×8 + NVMe×2 (smartctl megaraid) + megaraid kernel 事件監視 |
2. maguro (Supermicro) — 自動化タスク
| 種類 | 名前 | 周期 | 用途 |
|---|---|---|---|
| timer | supermicro-watch.timer | 5min | md0 / storage 使用率 90%+ / NFS / ATAエラー / LUKS×5 (raid1-4 + storage-cache) 一括監視 |
| timer | mdadm-watch.timer | 5min | /proc/mdstat md0 (OS RAID1) 状態変化検知 |
| timer | raid-watch.timer | 5min | IPMI SEL (Drive Fault / Rebuild) 検知 |
| cron | cert-watch | daily 06:30 | maguro snap certbot 配下の LE 全証明書チェック |
| cron | nc_backup.sh | daily | Nextcloud バックアップ (DB dump + config + custom_apps + データ rsync 差分)、 7世代保持 |
| cron (旧) | wg_traffic_collector.py | 5min | WG トラフィック収集 + 月次リセット (mikyun-portal データ供給) |
| cron | ups-check.sh | 1min | UPS 状態チェック (現状サイレント) |
2026-05-14 新規追加: raid-watch.timer (IPMI SEL) は今回のmaguro統合時に新設。 ハードウェアドライブ障害をkernelログ前に検出できるようになった。
3. hirame — 自動化タスク
| 種類 | 名前 | 周期 | 用途 |
|---|---|---|---|
| — | (本体OS監視は別途) | — | Collabora は Docker --restart always + maguro 側で fabric 直結監視に頼っている |
4. ファイルとして存在するが cron 未設定のスクリプト
注意: 以下のスクリプトはファイルとして存在するが、 cron 未設定のため自動実行されていない。 mikyun-portal の機能で本来動いてほしいものも含まれるので要確認・要対応。
| ファイル | 推定用途 | 影響 |
|---|---|---|
/opt/mikyun/bin/mikyun-traffic-snapshot.sh | トラフィックスナップショット取得 | 中 |
/opt/mikyun/bin/mikyun-suspend-expire.sh | 期限切れ端末の停止処理 | 高 (顧客契約管理) |
/opt/mikyun/bin/mikyun-predelete-notice.sh | 削除予告通知送信 | 中 |
/opt/mikyun/bin/mikyun-daily-rollup.sh | 日次ロールアップ集計 (24h/7d 集計) | 高 (ポータルの統計が古いまま) |
/opt/mikyun/bin/mikyun-expire-issued.sh | issued 状態の期限切れ処理 (QR有効期限 24h 超え) | 高 (QR が残り続ける) |
/opt/mikyun/bin/mikyun-delete-expired.sh | 期限切れ端末の物理削除 | 中 |
これらは「既知のバグ・TODO」ページにも記載がある未対応項目。 mikyun-portal の運用フェーズが本格化したら cron 登録する。
通知方針
- 全アラート Telegramへ。 メールは使わない (即時性重視)
- 監視 unit 名規則:
*-watch.timer+*-watch.serviceでペア - cert-watch は 06:30 固定: 朝起きて即気付けるように
- DB バックアップは 02:30: NC バックアップ (3:00) と被らないよう30分前にずらす
- 初回通知のみ / 復旧時通知: 「スマート通知」で4時間ごとリピート、 同内容スパムは抑止
確認コマンド
// R640
sudo systemctl list-timers --all | grep -E "perc-watch|cert-watch" sudo crontab -l sudo journalctl -u perc-watch.service --since "1 hour ago" --no-pager ls -lt /mnt/data/backup/wp/katuocloud_wp/ | head -5
// maguro
sudo systemctl list-timers --all | grep -E "supermicro-watch|mdadm-watch|raid-watch" sudo crontab -l sudo journalctl -u supermicro-watch.service --since "1 hour ago" --no-pager ls -lt /srv/storage/nextcloud-data/backup/ 2>/dev/null | head -5
過去の経緯: 旧 R640 時代は xs12-watch (Cisco 12XS ポート監視) や nvme-watch も R640 上に居たが、 2026-05-14 の再構築でmaguro側の supermicro-watch / raid-watch に統合され、 R640 は WP関連のみに絞った。