grepできます| crontabはすべてのジョブを破壊しますか?


21

同僚が走ったgrep | crontab。その後、すべてのジョブが消えました。彼は走ろうとしていたようだcrontab -l

それでは、コマンドを実行した後に何が起こったのgrep | crontabでしょうか?誰でも説明できますか?

回答:


33

crontabcrontab呼び出し側のユーザー(または言及されたユーザーroot)がSTDINから読み取って新規インストールできます。これはあなたのケースで起こったことです。

grepオプションを指定しないと、通常どおりSTDERRでエラーメッセージが生成され、STDOUT grepをSTDINにパイピングしているcrontabため、空白になりますcrontab


4
の一部のバージョンでcrontab-、標準入力から読み取るファイル名として使用する必要があります。これは、あまりにも多くの人がこのような間違いでcrontabを吹き飛ばしたためだと思います。
バーマー

4

彼はどのように仕事を終えましたか?彼はCcまたはCdと入力しましたか?彼がCdと入力した場合、それは実行crontab < /dev/nullと同等であり、ユーザーのcrontabファイルを空のファイルに置き換えました。一方、crontabCcで強制終了すると、crontabは保存されている可能性がありますが、を実行すると簡単に確認できますcrontab -l

このプログラムは、のcrontabファイルを編集する/var/spool/cron/だけなので、ファイルシステムのバックアップがある場合は、そこからユーザーのcrontabファイルを復元するだけです。

更新

私はgrepに引数がないことを知らなかったので、grepはエラーになり、実際にcrontabファイルは常に吹き飛ばされます。


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