神秘的自动电子邮件

s g*_* g 1 cron email

我记得几个月前在服务器上使用 crontab 并设置电子邮件功能,现在突然间我收到了以下电子邮件:

电子邮件标题:

from:    root <myemail@gmail.com>
to:  root
date:    Thu, Dec 5, 2013 at 6:48 AM
subject:     Cron <root@server-ip> test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
mailed-by:   gmail.com
Run Code Online (Sandbox Code Playgroud)

身体:

/etc/cron.daily/mlocate:
/usr/bin/updatedb.mlocate: `/var/lib/mlocate/mlocate.db' is locked (probably by an earlier updatedb)
run-parts: /etc/cron.daily/mlocate exited with return code 1
Run Code Online (Sandbox Code Playgroud)

Chr*_*own 8

这是一个更新 的索引的 cron 作业,mlocate当您locate在系统上运行以查找文件时会使用它。该索引允许程序在不遍历文件系统的情况下快速查找文件(这要昂贵得多,因为它没有针对该用例进行优化)。出于某种原因,一次停止多个数据库更新的锁定文件仍然存在,可能是因为 mlocate 意外终止并且无法删除锁定文件。

要解决此问题:

  • 检查没有updatedb.mlocate进程正在运行 ( pgrep -x 'updatedb\.mlocate');
  • 如果一个正在运行,要么等待它完成,或者如果你认为它卡住了,终止它(pkill -x 'updatedb\.mlocate'如果没有响应,也许使用更猛烈的信号);
  • 如果没有运行 ( rm /var/lib/mlocate/*.lock),则移除锁。