crontabの責任者ちょっと来い
Linux July 1st, 2008
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の内容が意図せざる方法で消えているのだろうか。