安装smtp发送电子邮件后的幻影cron作业

时间:2012-09-12 14:34:22

标签: linux cron crontab cron-task

今天安装ssmtp以便使用终端发送电子邮件之后,我每隔半小时收到一封电子邮件:

from:    root <myuser>@gmail.com
to:  root
date:    Wed, Sep 12, 2012 at 2:09 PM
subject:     Cron <root@127> [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir fuser -s {} 2>/dev/null \; -delete
mailed-by:   gmail.com

content: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/memcached.so' - /usr/lib/php5/20090626/memcached.so: cannot open shared object file: No such file or directory in Unknown on line 0

这些是从我自己的计算机发送的,就像设置了一个cron作业一样。

但我找不到任何计划的cron工作。

我在我的root帐户和普通帐户中使用crontab -e检查了crontab,但两者都是空的(除了解释cron用法的默认注释)。

还有其他方法可以检查这个cron作业的执行位置吗?

2 个答案:

答案 0 :(得分:3)

在我的linux机器上,以下目录都可以包含将运行的cron脚本:

/etc/cron.d/
/etc/cron.daily/
/etc/cron.hourly/  
/etc/cron.monthly/ 
/etc/cron.weekly/

更具体地说,我在我的linux框中也找到了相同的cron php脚本,因为我安装了php,在这里找到它:

cat /etc/cron.d/php5

# /etc/cron.d/php5: crontab fragment for php5
#  This purges session files older than X, where X is defined in seconds
#  as the largest value of session.gc_maxlifetime from all your php.ini
#  files, or 24 minutes if not defined.  See /usr/lib/php5/maxlifetime

# Look for and purge old sessions every 30 minutes
09,39 *     * * *     root   [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm

php脚本没有发送电子邮件,运行该php脚本的cron守护程序确实发送了它。它这样做是因为脚本输出了一些错误,而cron向root发送了一封电子邮件以通知它。因为安装发送到root的ssmtp邮件得到你。

要让cron不发送有关该php脚本的电子邮件,请在php脚本行的末尾添加>/dev/null 2>&1

然后使用/etc/init.d/crond restart

重新启动cron

这应该可以防止cron再次发送垃圾信息:-)。

答案 1 :(得分:2)

在必须Linux发行版中,您将找到一个/ var / spool / cron目录,其中包含每个具有cron作业设置的用户的文件或目录。我会先从那里寻找幻影cron的工作。