T

crontabの責任者ちょっと来い

crontabのオプションに「-r」というのがあるのをご存知だろうか。ご存知でしたか。そうですか。

manによれば、crontabについてこんな風に説明されている。

crontab コマンドは、IEEE Std1003.2-1992 (“POSIX”) に準拠している。この新しいコマンドのシンタックスは、 Vixie Cron の前のバージョンと異なっている (古典的な SVR3 シンタックスとも異なる)。

なるほど。作者のPaul Vixieという人の独断で作られたわけではないようだ。

しかし、このコマンド、とんでもなく人倫にもとる設計になっている。

みなさんがcrontabコマンドを利用するのは、たいてい編集(「crontab -e」)か閲覧(「crontab -l」)で、あとはせいぜいユーザを指定する(「crontab -u user -l」)くらいだろう。

だが、crontabのオプションにはもうひとつ「-r」というものがある。これは、

-r オプションは、現在の crontab を削除する。

という、実に問答無用なオプションで、編集の「e」のすぐ脇の「r」を押下してしまったが最後、あなたのcronは/var/log/cronにわずかな痕跡を残しただけできれいさっぱり消えてしまうのである。あなおそろしや。しかもご丁寧に何ら確認のメッセージを出すこともなく動いてしまう。rmやmvのように「-i」オプションをaliasに追加しておくようなせめてもの予防策さえない。

今日もどこかでcronの内容が意図せざる方法で消えているのだろうか。

Posted by on 7月 1, 2008 in Linux

Comments

  • […] しかし、管理者Aの悩んでいるのは、そんなことではなかった。仕様書を読めばわかる問題なら、散文には慣れている文学部出身のAにはたやすいことだ。過ちを恐れるあまり舌が凍りついたような文面に、ご丁寧にもコピープロテクトまでかかった小癪な仕様書も、彼の読解能力の前には交通安全の標語とさして違いはない。数日の内に、バッチ処理は仕様通りに動作するよう完璧に設計され、実装され、凄まじいテストにも完璧に耐え、crontabの美学に完璧にのっとってスケジューリングされた。開発チームは祝杯をあげ、バッチ処理はもう半年間ずっと問題なく動いている。 […]

  • コメントを残す