dil: (Default)
dil ([personal profile] dil) wrote2010-11-13 12:16 am

Мне вообще молоко за вредность надо давать

А то я чуть крышей не двинулся.

Пару дней назад в request tracker приходит заявка от сотрудника, что ему сообщения от мониторинговой системы о некоторой проблеме присылают по два раза – с двух машин. Просит с одной выключить, ему столько не нужно.

Мониторинг сейчас в процессе переезда с одной машины на другую, ситуация вполне реальная. Ну там, скрипт перенесли, а отключить на старой машине забыли, бывает.

Иду на старую машину, нахожу скрипт, запускаю crontab, чтоб его отключить.. А фиг,- говорит crontab, – нету у этого пользователя никаких заданий. То есть как это нету? -  начинаю офигевать я. Вот же в жалобе письмо процитировано. На всякий случай проверил почтовый лог. Всё как положено, было такое письмо, время совпадает, отправитель тоже. А кто ж его отправил, если в кроне задания нет?

Не залогинился же кто-то одновременно на обе машины и не запустил там вручную этот скрипт.. Но чтобы исключить такой вариант, запустил last. Не было никого на машине в это время. А проверка таки отработала и письмо отправила. Мистика какая-то..

Пошел искать на вторую машину. Скрипт там есть, тот же самый. Но.. в кроне его тоже нет. Тут-то у меня крыша и начала медленно съезжать.

Но далеко уехать не успела, разгадка нашлась довольно быстро. Как водится, её поиск предлагается в качестве домашнего задания.

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

[identity profile] deadracoon.livejournal.com 2010-11-12 11:20 pm (UTC)(link)
Время перевелось на час?

[identity profile] dil.livejournal.com 2010-11-13 10:12 am (UTC)(link)
Время перевелось уже давно, но это неважно. У данного пользователя на машине вообще кронтаба нету.

[identity profile] otnes.livejournal.com 2010-11-12 11:28 pm (UTC)(link)
Кто-то запустил crontab crontab - то есть, продублировал системный кронтаб для рута.

[identity profile] dil.livejournal.com 2010-11-13 10:13 am (UTC)(link)
Системного кронтаба на машине совсем нет, только отдельные пользовательские.

[identity profile] alz421.livejournal.com 2010-11-12 11:45 pm (UTC)(link)
А в /var/log/cron заглянуть, что там стартанулось в нужное время? И в /etc/cron.d не забыть, в тамошних скриптах указывается юзер, из-под коротого пускать и в crontab они не видны. Ну и самый брутальный вариант - если скрипт пускается из рутового кронтаба (вариант - из /etc/cron.daily или hourly) как su - user -c command

[identity profile] dil.livejournal.com 2010-11-13 10:14 am (UTC)(link)
Это солярка, у нее нет /etc/cron.d. И общесистемного кронтаба на этой машине тоже нет.
По логам - от этого пользователя не запускалось вообще ничего, а от других ничего похожего на этот скрипт.

[identity profile] kranov.livejournal.com 2010-11-13 05:32 am (UTC)(link)
скрипт запускается от другого пользователя, а результат форвардится

[identity profile] dil.livejournal.com 2010-11-13 10:15 am (UTC)(link)
При этом достаточно сложно получить в почтовом логе запись об отправке письма именно этим пользователем. Не оно.

[identity profile] alexkuklin.livejournal.com 2010-11-13 07:07 am (UTC)(link)
пользовательский (а не системный) crontab?

[identity profile] dil.livejournal.com 2010-11-13 10:16 am (UTC)(link)
Я в пользовательские и смотрел. Общесистемного на этой машине вообще нет.

[identity profile] lslarry.livejournal.com 2010-11-13 09:42 am (UTC)(link)
ну саша, давайте будем предметнее?
менялась ли конфигцурация сети? покажите почтовые заголовки с обоих машин? давайте там посмотрим чем это письмо состряпано. покажите, скажем, системный кронтаб на предмет, например, su - user "/mega/script"? и прочие на предмет "/mega/script | mail mega@user"?

[identity profile] dil.livejournal.com 2010-11-13 10:21 am (UTC)(link)
Нет, конфигурация сети не менялась. Но машину несколько дней назад перезагружали, какие-то проблемы с питанием были. Вот после этого сообщения и начали дублироваться.

Письмо состряпано этим самым скриптом, я собственно скрипт и нашел по subject'у письма. Отправлено этим самым пользователем, это в почтовом логе видно и с заголовками совпадает.

Системного кронтаба вообще нет, только пользовательские. Но у этого конкретного пользователя кронтаба тоже нет. Когда-то был, но после переноса всех его скриптов на новую машину кронтам ему совсем удалили.

sudo на машине нету. su есть, но в логах нет никаких признаков аутентификации под этим пользователем в районе времени отправки письма.

[identity profile] lslarry.livejournal.com 2010-11-13 11:33 am (UTC)(link)
ну так в заголовках т чего? это два письма с разных машин или два письма с одной машины?

[identity profile] dil.livejournal.com 2010-11-13 03:19 pm (UTC)(link)
Два разных письма с разных машин. На это и была жалоба, просили только с одной оставить.

[identity profile] e1am0.livejournal.com 2010-11-13 10:44 am (UTC)(link)
детектив прям

[identity profile] dil.livejournal.com 2010-11-13 03:21 pm (UTC)(link)
Идея интересная, но тоже не оно. Проверки происходят периодически и каждый раз при срабатывании пользователь получал письма с обеих машин. Это ж замучаешься каждые пять минут через at запускать..

[identity profile] asrhayader.livejournal.com 2010-11-15 09:22 am (UTC)(link)
Ждем разгадки :)

[identity profile] dil.livejournal.com 2010-11-16 07:42 am (UTC)(link)
Скрипт был зациклен. Делал проверку, если надо послыла письмо, потом засыпал на некоторое время и опять сначала. Запускался ищ /etc/init.d/. Машину перезагрузили, он и запустился.

[identity profile] deadracoon.livejournal.com 2010-11-21 01:42 am (UTC)(link)
а как зацикленный скрипт посылал письма с разных машин?

[identity profile] dil.livejournal.com 2010-11-21 12:56 pm (UTC)(link)
На обеих машинах было по экземпляру этого скрипта. После переноса на новую машину работающий экземпляр на старой убили, но забыли убрать его запуск из /etc/init.d/*. После перезагрузки машины он и запустился снова.

[identity profile] deadracoon.livejournal.com 2010-11-22 08:42 am (UTC)(link)
То есть зацикленность объясняет почему его нет в кроне, а автозупуск/перезагрузка - почему с двух машин.

[identity profile] dil.livejournal.com 2010-11-22 10:03 am (UTC)(link)
Ага

[identity profile] starcat13.livejournal.com 2010-11-16 02:56 am (UTC)(link)
какой-то скрипт в цикле крутился?

[identity profile] starcat13.livejournal.com 2010-11-16 12:11 pm (UTC)(link)
о, именно на эти грабли недавно наступил сам :)