通过复制粘贴编辑的/etc/crontab,如何恢复?

通过复制粘贴编辑的/etc/crontab,如何恢复?

我犯了一个错误,我通过复制和粘贴编辑了 /etc/crontab 。现在这些 crontab 条目不起作用。

[root@process ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
*/5 * * * * root php /var/www/vhosts/mydomain.com/subdomains/apn/httpdocs/sdkstatistics/callEveryFiveMinute.php 2>&1 /tmp/testlog.log

后来我研究了一下,发现不应该通过复制粘贴的方式来编辑crontab。相反我必须使用crontab -e添加 crontab。

我已经运行了crontab -l显示当前列表的命令

[root@process ~]# crontab -l
7,17,27,37,47,57 *  *  *  * /usr/lib/plesk-9.0/postfix-poplockdb-clean
1,16,31,46  *   *   *   *   /usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1

这是我的最后一篇文章*/5 * * * * 根 php /var/www/vhosts/mydomain.com/subdomains/apn/httpdocs/sdkstatistics/callEveryFiveMinute.php 2>&1 /tmp/testlog.log未列出。

现在我可以恢复到以前的状态吗?或者,我应该做什么更好?

答案1

您没有说明您正在运行哪个发行版或哪个版本的 cron 守护程序,但您的 cron 很可能维护系统 crontab 文件 (/etc/crontab) 以及每个用户的 crontab 文件。

当您运行 crontab -l (以 root 身份)时看到的文件可能是 /var/spool/cron/crontabs/root ,这是您要使用 crontab -e 进行更改的位置

如果没有有关您的发行版版本或 cron 守护程序的更多信息,我将不会继续,但您可能已经破坏了 /etc/crontab,因为它与每用户 crontab 文件的语法略有不同。看

man cron 

man crontab

man 5 crontab

有关 cron 守护程序配置的更多详细信息,请从 /etc/crontab 中删除错误行,并将其添加到 /etc/cron.* 目录或用户 crontab 文件之一。您可以从 /var/log 中的系统日志文件中找到 /etc/crontab 中的错误信息

相关内容