我记得几个月前在服务器上使用 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)
这是一个更新 的索引的 cron 作业,mlocate
当您locate
在系统上运行以查找文件时会使用它。该索引允许程序在不遍历文件系统的情况下快速查找文件(这要昂贵得多,因为它没有针对该用例进行优化)。出于某种原因,一次停止多个数据库更新的锁定文件仍然存在,可能是因为 mlocate 意外终止并且无法删除锁定文件。
要解决此问题:
updatedb.mlocate
进程正在运行 ( pgrep -x 'updatedb\.mlocate'
);pkill -x 'updatedb\.mlocate'
如果没有响应,也许使用更猛烈的信号);rm /var/lib/mlocate/*.lock
),则移除锁。