日記はScrapboxに移動しました。

crontab -r を安全にする

間違えて 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

  1. あるある。必ず crontab -l するようにして最悪 terminal のバッファから復旧できるようにしてました。

  2. やっぱみなさん失敗してるんですねぇ。。-r で消えるって知らなかったので、最初なにが起こったのかわからなかったですよ……。ログ見たら、自分で消してるし。。。↑あればもう大丈夫です><ノ

  3. 環境によって interactive オプションがある場合は、alias crontab=’crontab -i’ で。ない場合が大半ですが。

  4. おお、そんなオプションが!つか、ぶくまコメントでotsuneさんが書いている通り、設定ファイルはバージョン管理下におくべきだよなぁ><。と思いつつ、なかなか重い腰が上がらないでいるこの数年。

  5. 昔から設定は全部 ~/.crontab というファイルで管理して、編集はそこだけに対してやっています。
    で、
    crontab ~/.crontab
    ってやれば登録されます。crontab -e は一切使いません。
    バックアップなしは危険ですよー

Leave a Reply

Your email address will not be published. Required fields are marked *