Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Отправка email на список адресов при экстренном выключении системы. Как?  (Прочитано 3178 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Dim@Jan

  • Автор темы
  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
Всем hi!

Суть вопроса следующая. Есть некий РС под Linux (конкретно Mint Debian Edition, но это и не важно) работает он вроли мини сервера, FTP, Torrent все как у всех :)

 Так вот возник вопрос: как научить систему, штатными средствами отправлять email с текстом (как пример) "Система была выключена не корректно" на определенный адрес email@emaila.net

Вопрос можно разбить на две части:
1. Кто/чем можно проверить корректность завершения работы? Я так понимаю аля fdisk это уже как-то может определять
2. Чем отправить мыло? это может быть sendmail или что-то такое, но желательно не использовать таких "монстров" для таких простых задач. Тут тоже есть мысли что при логине в консоле, есть такое сообщение что система была выключена не правильно, т.е. некий локальный сервис это уже умеет.

Так вот как это все увязать до кучи и сделать то, что надо?!?!?!


Буду признателен за любую помощь и прошу прощения если этот вопрос поднимался, но поиск не дал результата.
Сначала детей учат ходить и говорить, а потом сидеть и молчать...

Оффлайн kostryukov

  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
система просто не успеет отправить имейлы при экстренном выключении.

ну а рассылать, я exim'ом пользуюсь. А для срочных сообщений джабером (sendxmmp)
у меня можно спросить=)

Оффлайн Dim@Jan

  • Автор темы
  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
не, ну так понятное дело что не в момент выключения питания надо отправлять это происходит за доли секунды :)

просто в BIOS выставлено включать при подаче питания, следовательно как только оно появится РС стартанет и начнет работать, все сервисы запускаются сами. Вот и хотелось бы чтобы именно в этот момент происходила диагностика, и непосредственно сама отправка сообщения.


Раньше я это делал через программу монитор для UPS но сейчас просто UPS не используется, потому ПО этого нет.


кстати вариант с отправкой сообщений в jabber даже был бы интересней :)
« Последнее редактирование: 23 Ноября 2011, 01:07:22 от Dim@Jan »
Сначала детей учат ходить и говорить, а потом сидеть и молчать...

Оффлайн kostryukov

  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Использование sendxmpp

Собственно подошли к самой важно и самой простой, пожалуй, части нашего повествования.
Наберите например такое:

$ echo "hello from `hostname`" | /usr/bin/sendxmpp -t -u mail@jabber.company -p PaSSWorD /
-s testmessage admin@jabber.company

Где:
-t - указываем использовать SSL соединения
-u mail@jabber.company - JID пользователя
-p PassWorD - это пароль пользователя
-t testmessage - тема сообщения
admin@jabber.company - JID получателя

Вуаля!
для удобства создадим(root'ом) файл /etc/conf.d/sendxmpprc следующего содержания:

mail@jabber.company PassWorD
Выполним:

# chmod 600 /etc/conf.d/sendxmpprc
Ну, далее всё зависит только от ваших требований и вашей фантазии...

Применение

Можно например сделать так: в файл /etc/conf.d/local.start добавить следующую строку:

echo "`uname -a` started at `hostname`" | /usr/bin/sendxmpp -t /
-f /etc/conf.d/sendxmpprc -s mailserver admin@jabber.company &

Теперь вам будет приходить уведомления о запуске данного компьютера.
у меня можно спросить=)

Оффлайн Dim@Jan

  • Автор темы
  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
вот это человечище :) благодарю!!!!

я что-то не смекнул, что факт выключения не надо проверять, достаточно отправить сообщение при включении ибо это тоже самое.

Ай да молодца, ай да помог! :) Сегодня же попробую все это дело в работе.
Сначала детей учат ходить и говорить, а потом сидеть и молчать...

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
работает он вроли мини сервера
....
отправлять email с текстом (как пример) "Система была выключена не корректно"
Мне кажется для сабжа любое выключение без команды админа - некорректно.
Потому можно просто затолкать отправку сообщения при старте системы. А если админ намечает несколько раз рестартовать, то временно может и отлючить эту фенечку. Хотя кому мешали письма в электронке...
средства? Часть уже сказали. Ещё можно использовать старый добрый перловый скрипт
sudo apt-get install sendemailможно и письмо писать и файлы отправлять.

P.S.пользуюсь сабжем, но письма "щастья" падают на мобильник в виде SMS - бесплатная услуга мегафона. Вроде надо активировать (стотыщ лет назад делал)

Оффлайн Dim@Jan

  • Автор темы
  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
пытаюсь выполнить команду пишет вот что:

nirox@apollo-linux-server ~ $ /usr/bin/sendxmpp -t -u ОТПРАВИТЕЛЬ@jabber.ru -p ПАРОЛЬ / -s testmessage ПОЛУЧАТЕЛЬ@jabber.ru
Use of uninitialized value $args{"file"} in lc at /usr/share/perl5/Net/XMPP/Debug.pm line 154.
cannot read /home/nirox/.sendxmpprc: �е� �акого �айла или ка�алога

работаю в putty почему кракозаблики не пойму стоит в консоли UTF8 русский показывается нормально.
Сначала детей учат ходить и говорить, а потом сидеть и молчать...

Оффлайн kostryukov

  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
у меня можно спросить=)

Оффлайн Dim@Jan

  • Автор темы
  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
перепробовал кучу вариантов

Цитировать
$ echo "test" | sendxmpp -t -f ~/.sendxmpprc КУДА ОТПРАВИТЬ@jabber.ru
Use of uninitialized value $args{"file"} in lc at /usr/share/perl5/Net/XMPP/Debug.pm line 154.
Use of uninitialized value within @_ in lc at /usr/share/perl5/XML/Stream/Parser.pm line 71.
Use of uninitialized value within @_ in lc at /usr/share/perl5/XML/Stream/Parser.pm line 71.
Use of uninitialized value within @_ in lc at /usr/share/perl5/XML/Stream/Parser.pm line 71.
Сначала детей учат ходить и говорить, а потом сидеть и молчать...

Оффлайн Dim@Jan

  • Автор темы
  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
в вопросе разобрался, вся загвоздка была в антиспаме в клиенте :) он не пропускал месаги.
Сначала детей учат ходить и говорить, а потом сидеть и молчать...

Оффлайн Amfitamin

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
перепробовал кучу вариантов

Цитировать
$ echo "test" | sendxmpp -t -f ~/.sendxmpprc КУДА ОТПРАВИТЬ@jabber.ru
Use of uninitialized value $args{"file"} in lc at /usr/share/perl5/Net/XMPP/Debug.pm line 154.
Use of uninitialized value within @_ in lc at /usr/share/perl5/XML/Stream/Parser.pm line 71.
Use of uninitialized value within @_ in lc at /usr/share/perl5/XML/Stream/Parser.pm line 71.
Use of uninitialized value within @_ in lc at /usr/share/perl5/XML/Stream/Parser.pm line 71.
можно ли подробнее решение этой проблемы ?
Семь раз флудани , один раз оффтопни ...

Оффлайн Dim@Jan

  • Автор темы
  • Любитель
  • *
  • Сообщений: 78
    • Просмотр профиля
http://www.глупости.net/2011/11/sendxmppjabber.html

я тут подробно описал как делал и что.
Сначала детей учат ходить и говорить, а потом сидеть и молчать...

 

Страница сгенерирована за 0.06 секунд. Запросов: 25.