実務シチュエーション4 択難易度 標準

状況

本番サーバの定期実行ジョブに 1 行追加する作業。手順書には「crontab -e で編集し、末尾に 1 行追加する」とある。作業者が入力したのは次の 2 行で、2 行目の Enter を押す直前だ。

Enter を押す前に止めるべき理由は?

crontab -l > ~/crontab.bakcrontab -r

正答

  1. -r は編集ではなく、現在の crontab を確認なしですべて削除する
  2. crontab -l の出力先は、ホームではなく /etc にすべきである
  3. crontab は root ユーザでなければ実行できないコマンドである
  4. バックアップのファイル名に日付がないと復元に使えない

解説

crontab -r は、そのユーザの crontab を確認なしで丸ごと削除する。キーボードで e と r は隣り合っており、打ち間違えやすい組み合わせとして知られている。直前にバックアップを取っていても、復元するまでの間に動くはずのジョブが止まり、本番に影響が出る。出力先や日付付きファイル名は運用上の好みの範囲で、crontab は一般ユーザでも自分の分を編集できる。

double-checkproductionshell

この問題を含む 実務シチュエーション のテストを制限時間つきで解く

実務シチュエーションクイズへ