間違えて crontab -r してしまい、crontab をふっとばしてしまったので、以下のような zsh 関数を書いて、確認を出すようにした。つか、隣同士にある -e と -r で編集と削除とか、酷いよ><。。。
#### crontab -r で死なないために functions crontab () { if [ $1 = -r ]; then echo -n "ほんとに消しちゃっていいの? [yes/no]" read ANSWER case "$ANSWER" in y | yes ) command crontab "$1" && echo "消した" ;; * ) echo "typoったの?ぷっくすwww" ;; esac else command crontab "$1" fi }
↑この書き方だと、たとえば
crontab -u username -e
とかが使えなくなるじゃん!というツッコミもあろうかと思いますが、-e と -l しかいまんとこ使わないので、とりあえず問題ないということで。
6 comments
あるある。必ず crontab -l するようにして最悪 terminal のバッファから復旧できるようにしてました。
やっぱみなさん失敗してるんですねぇ。。-r で消えるって知らなかったので、最初なにが起こったのかわからなかったですよ……。ログ見たら、自分で消してるし。。。↑あればもう大丈夫です><ノ
環境によって interactive オプションがある場合は、alias crontab=’crontab -i’ で。ない場合が大半ですが。
おお、そんなオプションが!つか、ぶくまコメントでotsuneさんが書いている通り、設定ファイルはバージョン管理下におくべきだよなぁ><。と思いつつ、なかなか重い腰が上がらないでいるこの数年。
昔から設定は全部 ~/.crontab というファイルで管理して、編集はそこだけに対してやっています。
で、
crontab ~/.crontab
ってやれば登録されます。crontab -e は一切使いません。
バックアップなしは危険ですよー
ってやれば登録されます。crontab -e は一切使いません。