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

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

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

ЗАГОЛОВОК ЭЛЕКТРОННОГО ПИСЬМА:

from:    root <[email protected]>
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

Это на Ubuntu Server 12.04.1 LTS. Я даже не знаю, какой почтовый сервер я использую или как это узнать. /etc/cron.dailyДолжно быть, я не понимаю каталог, потому что когда я это делаю crontab -l(и для root, и для моего обычного пользователя), он говорит, что нет crontab.

Может быть, проблема updatedbне в электронной почте или cron?

EDIT: Я завершил /bin/bash /etc/cron.daily/mlocateпроцессы /usr/bin/updatedb.mlocateи снял блокировку, теперь мне придется просто подождать и посмотреть, появится ли ошибка снова.

решение1

  1. Будет действительно полезно, если вы укажете, на какой ОС вы работаете. Думаю, это какой-то дистрибутив Linux...
  2. Он запущен /etc/cron.daily/mlocate, но этот скрипт выдает ошибку, вам, вероятно, следует это исправить.
  3. Я не вижу здесь ни одного вопроса.

решение2

Предыдущие постеры совершенно не попали в цель!

Прежде всего, автор оригинального поста четко указал, какую ОС он использует: Ubuntu Server 12.04.1 LTS.

Во-вторых, это помогает понять процессы системного уровня в системе типа UNIX. Таблицы cron системного уровня настроены на запуск процессов обслуживания в регулярное запланированное время. Поскольку задание cron не имеет подключенного терминала для вывода сообщений об ошибках, они отправляются по электронной почте пользователю cron-tab — в данном случае системному администратору.

В-третьих, вам не следует просто отключать отправку этих сообщений по электронной почте или отключать обработку заданий cron. Они являются признаком того, что есть проблема, и вам нужно устранить ее первопричину.

В случае этого конкретного сообщения я тоже начал получать их после выполнения обычного обновления, включающего mlocate. Процесс застопорился и не смог завершиться, ожидая завершения операции ввода-вывода. Взгляните на таблицу процессов:

$ ps -ef |grep mlocate
scott    14564 14416  0 19:49 pts/0    00:00:00 grep mlocate
root     16326 16113  0 Apr06 ?        00:00:00 /bin/bash /etc/cron.daily/mlocate
root     16332 16326  0 Apr06 ?        00:00:00 /usr/bin/updatedb.mlocate

Самое простое решение — просто завершить задействованный процесс(ы) и позволить следующему запланированному cron-ом времени запустить его снова.

$ sudo kill -9 16326 16332

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

From: root@XXXXXXX (Cron Daemon)
To: root@XXXXXXX
Subject: Cron <root@XXXXXXX> test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
Date: Sun, 08 Apr 2014 19:54:36 -0400 (EDT)

run-parts: /etc/cron.daily/mlocate exited because of uncaught signal 9

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

решение3

  1. проблема в mlocate.
  2. сообщения отправляются напрямую с сервера server-ip.
  3. перейдите /var/spool/cron/и сделайте grep -ir MAILTOто же самое, проверьте MAILTOналичие записей в /etc/crontabфайле.
  4. если вы не хотите получать сообщения от crond, просто удалите строку MAILTO
  5. (вероятно, более ранним обновленным) <- если вы начали получать сообщения сегодня, то просто дайте mlocate еще немного времени для завершения работы на сервере.

Связанный контент