`crontab -`がcrontabを削除するのはなぜですか?キャンセルできますか?


8

急いでヒットする前にeを忘れてしまいました。 crontab -eEnter

プロンプトが表示されたため、通常は入力プロンプトを終了するのと同じように、Ctrl+ Dで閉じました。

警告なしで、私のcrontab全体が空になりました。

どうして?これが発生した原因は何ですか?Ctrl+ 以外のプロンプトを閉じDて、何も保存されないようにするにはどうすればよいですか?


2
プロンプトは何と言いましたか?
マイケルハンプトン

回答:


7

Control+Cこの場合は中止crontabされ、現在のcrontabエントリは消去されません。それ以外の場合、ベア-は標準入力から入力を読み取る必要があることをUnixで一般的に示しており、標準入力をControl+D閉じ、標準入力で何もパイプされていないため、空のcrontabファイルが生成されます。

の行に沿ったユーザーcrontabエントリ

@daily crontab -l > $HOME/.cron.`hostname`

は、crontabデータのバックアップコピーを提供することで、このような将来の悪ふざけを防ぐ可能性があります(または、バージョン管理を使いこなすか、バックアップを複雑にすることもできます)。


15

空のstdinのコンテンツでcrontabを置き換えました。基本的にと同じcrontab < /dev/nullです。

Ctrl + Cを押す方がよい習慣かもしれません。

あなたのcrontabはおそらくなくなっています。バックアップはのどこかにある可能性があり/var/spool/cronますが、バックアップを維持するcronデーモンは知りません。/var/spool/cron自分にとって重要な場合は、バックアップを設定する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.