可以 grep | crontab 会破坏所有作业吗?

可以 grep | crontab 会破坏所有作业吗?

我的同事跑了grep | crontab。此后所有工作都消失了。看来他是想逃跑crontab -l

那么运行命令后发生了什么grep | crontab?谁能解释一下吗?

答案1

crontab可以crontab为从 STDIN 读取的调用用户(或提及的用户root)安装新的。这就是您的情况。

grep没有任何选项将会像往常一样在 STDERR 上生成一条错误消息,并且您正在将的 STDOUT 传输grep到 STDIN,而crontab它的是空白的,因此您的信息crontab将会消失。

答案2

他是如何终止工作的?他输入的是 Cc 还是 Cd?如果他输入 Cd,则相当于运行crontab < /dev/null,并且您已将用户的 crontab 文件替换为空文件。另一方面,如果您crontab使用 Cc 杀死,则 crontab 可能已被保留,但您可以通过运行轻松检查crontab -l

该程序所做的只是编辑 中的 crontab 文件/var/spool/cron/,因此如果您碰巧有文件系统的备份,则可以从那里恢复用户的 crontab 文件。

更新

我没有看到 grep 没有参数,所以 grep 会出错,而且 crontab 文件确实会被吹走。

相关内容