
レガシー・サバイバル術 第4回:「“俺だけがわかる”スクリプトの闇」
ktgs
こんにちは、代表の片ケ瀬です。
今回のテーマは、誰もが1つは抱えている“爆弾ファイル”について。
😱 覚えのある「俺だけスクリプト」チェックリスト
/opt/scripts/backup.sh(500行)ファイル名が
doall.shまたはfinal_v2_2021_bkup.sh先頭に
# このスクリプトは触るなとだけ書いてあるコメントに「よくわからんけど動く」とある
書いた本人がすでに異動 or 忘れている
それはもう“資産”ではない。
未来の自分への地雷です。
🧨 なぜ“俺だけがわかる”スクリプトは生まれるのか?
緊急対応 → 「あとで直す」→ 永遠に直されない
天才型エンジニア → コメント不要と判断 → 属人化
人に任せて壊された過去 → 「もう俺がやる」
💀 実録:現場で見た“俺スクリプト”の闇
cronで
/tmp/daily_check.sh実行 → tmpwatchで消えて沈黙monitor.plにbase64文字列 → decodeするとSlack Webhook(失効済)バックアップスクリプトにS3キー直書き → git管理されて世界へ公開
🔧 じゃあ、どうすればよかったのか?
✅ Gitで管理しよう
誰が何を変えたかが明確に
READMEに使い方と実行例を書く
✅ ファイル名は意図が伝わるように
daily_log_cleaner.sh← 良いtest3_fatal.sh← 悪い
✅ コメントは“未来の自分宛てのラブレター”
# FIXME: ここは旧システムA対応。制度変更で見直し予定(2024年)✅ 設定とロジックは分離する
config.iniに設定値main.pyで読み込む
🛠 “俺ツール”の資産化チェックリスト
項目 OK? Gitに登録されているか? ✅ / ❌ READMEがあるか? ✅ / ❌ ログが残るか? ✅ / ❌ 他の人が実行できるか? ✅ / ❌ 設定値が外出しされているか? ✅ / ❌ 作者不在でも動かせるか? ✅ / ❌
🧘 属人化からチームの資産へ
ある先輩がこう言いました:
「コードは資産。でも“俺だけ資産”は負債。」
属人化されたスクリプトも、ちゃんと整理すればチームの武器になる。
それが、インフラおじさんの伝家の宝刀“継承”です。
📌 まとめ:俺ツールの呪いを、愛で解きほぐせ
闇の俺ツール サバイバル術 コメントなし README + コメントで継承力UP ローカルで管理 Git化+共有 設定ハードコード 設定ファイル分離 呪文ファイル名 意図の伝わる命名
🔮 次回予告:「止まらない設計は美しい」
次回は、システムが落ちたときに問われる「設計思想」。
冗長化してるのに落ちるのはなぜ?
止まらない設計とは「人が動ける設計」
手順・通知・訓練…運用こそインフラの本質
技術だけじゃない、“現場の強さ”を語ります。
👋 最後にひとこと
「俺しかわからない」は、誇りではなく課題。
伝えよう。書こう。渡そう。未来のチームのために。
Related
