この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
エラーが出たわけでも、何か起きたわけでもない。でも何かが「おかしい」という感覚。
これがいわゆる「ヒヤリハット」です。実際の事故には至らなかったけれど、一歩間違えたら取り返しのつかないことになっていた——そういう経験が、Linux本番作業には思いのほか多くあります。
20年以上Linuxサーバーの運用・保守に携わってきた私が、実際に「冷や汗をかいた」瞬間を3つ紹介します。そしてそこから身につけた「事故を防ぐ確認習慣」を、セミナーで3,100名以上を指導してきた経験もふまえて解説します。
この記事のポイント
・rm+ワイルドカードの前には必ずlsで対象を目視確認する
・サービス停止前は影響範囲(連携システム・バッチ等)を書き出す
・設定ファイル変更前の「日付入りバックアップ」をルーティン化する
・ヒヤリハットは「事故の前に気づけた貴重な経験」として習慣化の機会にする
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
なぜLinux本番作業は「手が止まる」場面が多いのか
Linux本番サーバーの作業が怖いのには、明確な理由があります。一つは「コマンドは即座に実行される」という特性です。テキストエディタならUndoできますが、rmで削除したファイルは(バックアップがなければ)戻りません。serviceコマンドでサービスを落とせば、その瞬間から影響が出始めます。
もう一つは「影響が見えにくい」ことです。本番環境では、自分が把握していないサービスや処理が動いていることが多い。「このサーバーは自分しか使っていない」という思い込みが、思わぬ事故につながります。
私が20年以上の現場経験から言えることは、「ヒヤリハットを経験したことのないエンジニアはいない」ということです。でも「ヒヤリハット」の経験を「恥ずかしいこと」として話さない人も多くいます。実は逆で、ヒヤリハットは「事故の前に気づけた貴重な経験」です。そこから学ぶことで、本当の意味での安全な作業習慣が身につきます。
私が実際に経験した3つのヒヤリハット
1. rmコマンドのワイルドカードで、削除対象を間違えそうになった話
SE時代(2001年~2006年)、あるWebサービスの運用を任されていた頃の話です。ログファイルがディスクを圧迫していたため、2003年分の古いログファイルを削除することになりました。
削除したかったのは `/var/log/webapp/access_2003*.log` でした。しかし作業中に焦ってしまい、入力したのは:
rm /var/log/webapp/access*.log
慌てて先に `ls` で確認してみると、案の定、2004年・2005年のログも一致していました。もし確認せずにEnterを押していたら、運用中のログファイルがまるごと消えていたところでした。
# rmを実行する前に、lsで削除対象を必ず確認する(要注意:rmは実行後に取り消しできない) ls -la /var/log/webapp/access*.log # 出力を目視確認してから、正しいパターンで削除を実行 rm /var/log/webapp/access_2003*.log
2. サービスを停止する前に影響範囲を確認していなかった話
同じくSE時代、Apacheのチューニングのためにhttpdを再起動しようとした時のことです。「ちょっとhttpdを再起動するだけだから」と思い、コマンドを入力しようとしたその瞬間、隣に座っていた先輩が「ちょっと待て、今日は月次バッチが動いてる時間じゃないか?」と声をかけてくれました。
確認してみると、確かに月次の売上集計バッチがhttpdを経由して外部APIにデータを送信している最中でした。あのまま再起動していたら、バッチが途中で切れ、集計データが欠損するところでした。
先輩がいたから助かりましたが、一人作業だったら気づかなかったはずです。セミナーで3,100名以上を指導してきた中で、こうした「他のシステムへの影響」を考慮しない作業ミスは非常に多いパターンです。
3. 設定ファイルを変更してからバックアップを忘れていたことに気づいた瞬間
Apacheの設定ファイル(httpd.conf)を変更した後、設定が正しく反映されているかを確認しようとした時のことです。`apachectl configtest` を実行しようとして、ふと気づきました。「あれ、編集前にバックアップ取ったっけ?」
取っていませんでした。編集が成功していれば問題ないですが、万が一設定ファイルを壊していたら、元の状態に戻す手段がない状態でした。
幸い、その時は設定が正しく、configtestもOKでした。しかしこの「ヒヤリ」以来、設定ファイルを変更する前に必ずバックアップを取るようになりました。これが今でも続けている習慣の出発点です。
3つのヒヤリハットから身につけた確認習慣
1. 削除・変更前は「ls」や「echo」で対象を目視確認する
ワイルドカードを含む削除コマンドは、実行前に必ず `ls` で対象ファイルを確認してください。慣れてきた頃ほど省略しがちですが、省略した瞬間に事故が起きます。# NG: ワイルドカードをそのまま実行(何が消えるか確認していない) rm /var/log/app/*.log # OK: まずlsで対象を確認してから実行する ls -la /var/log/app/*.log rm /var/log/app/*.log
私のセミナーでは「rmの前にls」を合言葉として覚えてもらっています。これだけで、ワイルドカードによる誤削除の大半を防ぐことができます。
2. 作業の「影響範囲」を着手前に書き出す
サービス停止・再起動・設定変更の前には、以下の3点を必ず確認してください。・連携しているサービス・システム:停止対象と通信しているものはないか
・実行中の定期処理:バッチジョブやcronが走っていないか
・作業時間帯の影響:業務時間中か、利用が集中する時間帯ではないか
「ちょっとした変更」でも、これを省略しないことが重要です。私が20年以上運用してきた中で、「こんな小さな変更がこんな影響を出すとは思わなかった」という事例は数え切れません。
連携サービスの確認には、以下のようなコマンドが役立ちます。
# 特定ポートへの接続を確認(対象サービスに何が接続しているかを把握する) ss -tnp | grep :80 # または netstat -tnp | grep :80
3. 「設定変更前バックアップ」をルーティン化する
設定ファイルを変更する前に、必ずバックアップを取るルーティンを持ってください。「後でバックアップを取ればいい」は、結局後回しになって忘れます。# 設定ファイルを編集前に日付入りでバックアップ(例: httpd.conf) cp -p /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak.$(date +%Y%m%d) # バックアップできたことを確認してから編集を始める ls -la /etc/httpd/conf/httpd.conf*
定期的なバックアップ戦略については、rsyncコマンドでファイルを同期・転送する方法もあわせて参照してください。rsyncを使ってサーバー全体のバックアップを取る仕組みを導入しておくと、ファイル単体のバックアップをし忘れた場合の保険になります。
本記事のまとめ
ヒヤリハットは「失敗する前に気づけた貴重な学び」です。気づけたことに感謝して、その経験を確認習慣に変換しましょう。| ヒヤリハットの場面 | 防ぐための確認習慣 |
|---|---|
| rmのワイルドカード削除 | 実行前に必ずls -laで対象ファイルを目視確認 |
| サービス停止・再起動 | 影響範囲(連携サービス・バッチ等)を事前に書き出す |
| 設定ファイルの変更 | 変更前に日付入りバックアップ(cp -p ファイル名 ファイル名.bak.日付) |
本番作業の安全習慣についてさらに深く学びたい方は、Linuxの作業ミスを繰り返さない人がやっていることもあわせてご覧ください。
「ヒヤリハット」を繰り返さない確認習慣を、体系的に身につけませんか?
本番作業の事故は、知識不足より「確認の省略」と「習慣の欠如」が原因です。まずは体系的にまとめられた教材で、安全なサーバー運用の全体像を掴んでください。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 前のページへ:Linuxのトラブルを初めて一人で解決した日の話|現役講師が語る「自力で乗り越える力」が身につく瞬間
- この記事の属するカテゴリ:Linux学習ガイドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます