Таинственные автоматические письма

Я помню, как я работал с crontab и настраивал возможности электронной почты на сервере много месяцев назад, и теперь неожиданно я получаю следующее письмо:

EMAIL HEADER:

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 

ТЕЛО:

 /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 

Это задание cron, которое обновляет индексы для mlocate , который используется, когда вы запускаете locate в своей системе для поиска файлов. Этот индекс позволяет программе быстро находить файлы без прохождения файловой системы (что намного дороже, потому что оно не оптимизировано для этого случая использования). По какой-то причине файл блокировки, который останавливает более одного обновления базы данных, который происходит в свое время, по-прежнему остается, возможно, потому, что mlocate неожиданно прекратился и не смог удалить файл блокировки.

Чтобы исправить это:

  • Убедитесь, что не выполняются процессы pgrep -x 'updatedb\.mlocate' ( pgrep -x 'updatedb\.mlocate' );
  • Если он работает, либо дождаться его завершения, либо если вы считаете, что он застрял, завершите его ( pkill -x 'updatedb\.mlocate' , возможно, используя более сильные сигналы, если нет ответа);
  • Удалите блокировку, если ни одна из них не работает ( rm /var/lib/mlocate/*.lock ).