はじめに
この記事は本番環境でやらかしちゃった人 Advent Calendar 2020 21日目の記事になります。
発端
今から10年くらい前の話ですが、当時サーバーエンジニアをやっていた"ぼく"は、その日、上司に依頼されて自社のサービスとして運営していたホスティングサーバ内の不要なデータの整理をしておりました。
で、どっかの不要なbinディレクトリを中身ごと削除しようとした際、とりあえずrm -rf
と入力して、続けてbin
と入力しようとし、間違えて/bin
と入力してしまいます。
# rm -rf /bin
ここまでならよくある話ではありました。
そこで「あ、やべぇ、スラッシュ消さなきゃ」と思いながらバックスペースキーを押して/
を削除しようとしました。というか間違いなくバックスペースキーは押したんです。ただそこで気が緩んでしまい、"ぼく"はコンソールの内容も確認せずにそのままエンターキーを押してしまったのです。
カチャカチャカチャ、ッターン!
# rm -rf bin
# rm -rf /bin
\(^o^)/オワタ
惨劇はなぜおこってしまったのか
この時、"ぼく"がTelnetでログインしていたのは古いSolarisサーバでした。
CentOSなどの割と後発のUNIX系のOSではデフォルトでもバックスペースキーを押下するとちゃんと一つ前に戻って文字を削除しますが、"ぼく"がログインしていたサーバではバックスペースキーを押下しても何も起こらない設定になっていました。
とはいえ、サーバによる設定の差は惨劇の一因でしかなく、主因はあくまでも確認不足。
ちゃんと目視で確認して、スラッシュが削除されていることを確認してからエンターキーを押せばこの惨劇を防ぐことは出来たはずでした。
一部を除いてご理解のあるお客様ばかりだったので、また上司にリカバリー作業でのご助力をいただいたおかげで、金銭的な面でもデータ的な面でもそれほど大きな損害にはならなかったことは不幸中の幸いでした。
まぁミスした張本人なんで何も言う資格はないんですけど、普段から金払いが悪いアレなユーザーほどこっちのシステム障害のときに長々と文句を言ってくるのはホント何でなんでしょうね
二度と惨劇を起こさないためにどうしたのか
とても初歩的で簡単な事ですが、コマンドを叩く前、OKボタンを押す前、取引先にメールを送る前etc、一呼吸置いて内容を確認し間違いがないことを確かめてからアクションを起こすようにしました。
一見当たり前に思えることではあるんですが、その当たり前のことが当たり前に出来ない人が確認不足によるミスを起こすのもまた事実ですし、そもそも「間違いがないこと」を確認するには正しいやり方を理解していないといけない訳で、そう考えると言うのは簡単だけど常に実現するのは意外と難しいことなのかなぁという気もします。
ただこういう事書くとめっちゃ怒られそうなんですけど、取り返しがつく若いうちにやらかしておいた方が長い目で見ると後々の糧になるんじゃないかなぁ・・・・・・とはぶっちゃけちょっと思ったりしています。