crontab
引数を指定しないと、標準入力からcrontabファイルが読み取られます。たとえば、次のように使用できます。
echo "* * * * * run-this-every-minute" | crontab
crontabを壊した(つまり、crontab -l
何も表示しない)と、それを元に戻す良い方法はありません。
私のシステム(Ubuntu 11.04)では、個人のcrontabが保存されて/var/spool/cron/crontabs/<USER>
いますが、それはあなたが壊したものであり、それでは何の役にも立ちません。(パスはシステムによって異なる場合があります。)
/var/log/syslog
によって実行されたコマンドのエントリが表示されcron
ます。そこからcrontabを再構築できるかもしれませんが(もしあればシステムの同等物)、それは退屈な作業になるでしょう。
この種の問題を回避するために私が行うことは次のとおりです。
私は自分のcrontabをソース管理システムで管理されている別のファイルに保存しています。私はそれをインストールのみ実行することにより、
crontab filename
私は使用しませんcrontab -e
。誤ってcrontabを上書きしてしまった場合は、ファイルから再ロードするだけです。(まあ、めったにない。私は時々crontab -e
一時的な変更を行うために使用し、後で現在のバージョンを復元できることを知っている。)