URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 22454
[ Назад ]

Исходное сообщение
"SMS me now!"

Отправлено uname , 30-Окт-02 20:37 
Помогите сделать такой скрипт: когда сервер перегружаеться, то как загрузиться писал бы мне SMS на мобилу что перегрузился.. Может кто что подобное делал?

Содержание

Сообщения в этом обсуждении
"RE: SMS me now!"
Отправлено LinaS , 30-Окт-02 20:43 
>Помогите сделать такой скрипт: когда сервер перегружаеться, то как загрузиться писал бы
>мне SMS на мобилу что перегрузился.. Может кто что подобное делал?
>

не знаю, как sms (наверное примерно также), а на пагер - суешь в /usr/local/etc/rc.d/ скрипт например с именем send_me.sh:

в нем:

#!/bin/sh

echo "Я перегрузился"| mail -s pager_number pager_company_gate

все.


"RE: SMS me now!"
Отправлено A Clockwork Orange , 30-Окт-02 21:00 
>>Помогите сделать такой скрипт: когда сервер перегружаеться, то как загрузиться писал бы
>>мне SMS на мобилу что перегрузился.. Может кто что подобное делал?
>>
>
>не знаю, как sms (наверное примерно также), а на пагер - суешь
>в /usr/local/etc/rc.d/ скрипт например с именем send_me.sh:
>
>в нем:
>
>#!/bin/sh
>
>echo "Я перегрузился"| mail -s pager_number pager_company_gate
>
>все.

а где взять эти самые гейт?



"RE: SMS me now!"
Отправлено LinaS , 30-Окт-02 22:39 
>>>Помогите сделать такой скрипт: когда сервер перегружаеться, то как загрузиться писал бы
>>>мне SMS на мобилу что перегрузился.. Может кто что подобное делал?
>>>
>>
>>не знаю, как sms (наверное примерно также), а на пагер - суешь
>>в /usr/local/etc/rc.d/ скрипт например с именем send_me.sh:
>>
>>в нем:
>>
>>#!/bin/sh
>>
>>echo "Я перегрузился"| mail -s pager_number pager_company_gate
>>
>>все.
>
>а где взять эти самые гейт?


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


"RE: SMS me now!"
Отправлено LS , 30-Окт-02 23:17 
>>>>Помогите сделать такой скрипт: когда сервер перегружаеться, то как загрузиться писал бы
>>>>мне SMS на мобилу что перегрузился.. Может кто что подобное делал?
>>>>
>>>
>>>не знаю, как sms (наверное примерно также), а на пагер - суешь
>>>в /usr/local/etc/rc.d/ скрипт например с именем send_me.sh:
>>>
>>>в нем:
>>>
>>>#!/bin/sh
>>>
>>>echo "Я перегрузился"| mail -s pager_number pager_company_gate
>>>
>>>все.
>>
>>а где взять эти самые гейт?
>
>
>ну я зашла на сайт пейджинговой компании, там есть "отправить сообщение" -
>посмотрела исходник страницы, что в теме и на какой адрес и
>все.
>я думаю, можно позвонить в тех.отдел и спросить?

То же самое и с sms, если оператор сотовой связи предоставляет такую услугу. Открываешь специальный почтовый ящик и шлешь туда мыло, а оператор передает его тебе как sms. Вобщем LinaS правильно написала - смотри на сайте своего оператора связи.


"RE: SMS me now!"
Отправлено uname , 31-Окт-02 14:26 
вообщем узнал какой e-mail у моего сотика, написал (с трудом...) скрипт на perl:

#!/usr/bin/perl

open (MAIL, "|sendmail -t")
                    || print "Can't start mail program";
    print MAIL "To: мой номер\@sms.beemail.ru\n";
    print MAIL "From: uchcom2\n";
    print MAIL "Subject: restart\n";
    print MAIL "uchcom2 restarted!\n\n";
    print MAIL"\n\n";
    close (MAIL);

работает! Может он и не хороший, но работает:)

Теперь другая проблема - зделать так чтобы при перезагрузке он выполнялся.. копировал его в /etc/rc.boot/ и даже делал шеловский скрипт чтобы оно выполнилось.. нее, не катит, почему-то не работает.

Как корректно вставить этот скрипт в автозагрузку? Или аналог..

OS: Debian (сам по себе сервер почтовый, exim, sendmail..)

Заранее благодарен.


"RE: SMS me now!"
Отправлено McFly , 31-Окт-02 14:33 
>вообщем узнал какой e-mail у моего сотика, написал (с трудом...) скрипт на
>perl:
>
>#!/usr/bin/perl
>
>open (MAIL, "|sendmail -t")
>            
>        || print "Can't
>start mail program";
>    print MAIL "To: мой номер\@sms.beemail.ru\n";
>    print MAIL "From: uchcom2\n";
>    print MAIL "Subject: restart\n";
>    print MAIL "uchcom2 restarted!\n\n";
>    print MAIL"\n\n";
>    close (MAIL);
>
>работает! Может он и не хороший, но работает:)
>
>Теперь другая проблема - зделать так чтобы при перезагрузке он выполнялся.. копировал
>его в /etc/rc.boot/ и даже делал шеловский скрипт чтобы оно выполнилось..
>нее, не катит, почему-то не работает.
>
>Как корректно вставить этот скрипт в автозагрузку? Или аналог..
>
>OS: Debian (сам по себе сервер почтовый, exim, sendmail..)
>
>Заранее благодарен.

см. файло /etc/rc.local из него все строки выполняются во время загрузки сиситемы.
вставь строку типа:
/path/to/your/exec/file/*.pl
вроде все... :)
выше изложенное применительно к FreeBSD


"RE: SMS me now!"
Отправлено J , 31-Окт-02 15:56 
>вообщем узнал какой e-mail у моего сотика, написал (с трудом...) скрипт на
>perl:
>
>#!/usr/bin/perl
>
>open (MAIL, "|sendmail -t")
>            
>        || print "Can't
>start mail program";
>    print MAIL "To: мой номер\@sms.beemail.ru\n";
>    print MAIL "From: uchcom2\n";
>    print MAIL "Subject: restart\n";
>    print MAIL "uchcom2 restarted!\n\n";
>    print MAIL"\n\n";
>    close (MAIL);
>
>работает! Может он и не хороший, но работает:)
>
>Теперь другая проблема - зделать так чтобы при перезагрузке он выполнялся.. копировал
>его в /etc/rc.boot/ и даже делал шеловский скрипт чтобы оно выполнилось..
>нее, не катит, почему-то не работает.
>
>Как корректно вставить этот скрипт в автозагрузку? Или аналог..
>
>OS: Debian (сам по себе сервер почтовый, exim, sendmail..)
>
>Заранее благодарен.

Когда система перезаргужается, она переходит на initlevel 6, debian по умолчанию загружается на 2 уровне. Пишите простенький скрипт в /etc/init.d, который параметр старт обрабатывает, посылая сообщение о том, что сервер загрузился, а параметр стоп - посылает сообщение, что сервер собрался перезагрузиться. А далее стандартно - update-rc.d default 99


"RE: SMS me now!"
Отправлено uname , 31-Окт-02 17:39 
Работает! Скопировал скрипт в /etc/init.d/, потом update-rc.d send_me.pl defaults 99, теперь скрипт выполняеться ... но те так как я хочу, сообщение приходит, но (!) два! два раза. Не по людски это.. Как это можно исправить?

"RE: SMS me now!"
Отправлено uname , 31-Окт-02 21:53 
Все же добил я скрипт, теперь он отсылает sms и ведет логи доступые через браузер. Ужасно приятно, что работает:) Остался только один недочет: мне надо, чтобы скрипт выполнялся только при загрузке машины, а не при выключении и загрузке - так приходят два сообщения и в логе \2 лишних дат... как сделать, чтобы выполнение только при загрузке?


"RE: SMS me now!"
Отправлено uname , 31-Окт-02 22:28 
Все же подумав - пришел к выводу, что при начале перезагрузки и самой перезагрузке сообщения нужны, так можно будет знать - перегрузился от reset'a или из под рута. Но не удобно ловить две месаги темболее на сотике, как сделать так: при выключении один скрипт, а при включении другой? или как узнать параметры старта\стопа? Например, присвоить переменной значение и потом скрипт вставлял бы значение переменной  контекст.


"RE: SMS me now!"
Отправлено LS , 01-Ноя-02 00:51 
>Все же подумав - пришел к выводу, что при начале перезагрузки и
>самой перезагрузке сообщения нужны, так можно будет знать - перегрузился от
>reset'a или из под рута. Но не удобно ловить две месаги
>темболее на сотике, как сделать так: при выключении один скрипт, а
>при включении другой? или как узнать параметры старта\стопа? Например, присвоить переменной
>значение и потом скрипт вставлял бы значение переменной  контекст.

При переходе на выходе из текущего level твтоему скрипту передается пареметр (${1}) stop, а при входе на новый level - параметр start тебе же это J сказал. Похоже ты это дело в своем скрипте игнорируешь - отсюда два сообщения: при выходе с одного level и пр входе на другой. if или case на предмет анализа передаваемых параметров использовать надо...


"RE: SMS me now!"
Отправлено J , 01-Ноя-02 10:59 
>>Все же подумав - пришел к выводу, что при начале перезагрузки и
>>самой перезагрузке сообщения нужны, так можно будет знать - перегрузился от
>>reset'a или из под рута. Но не удобно ловить две месаги
>>темболее на сотике, как сделать так: при выключении один скрипт, а
>>при включении другой? или как узнать параметры старта\стопа? Например, присвоить переменной
>>значение и потом скрипт вставлял бы значение переменной  контекст.
>
>При переходе на выходе из текущего level твтоему скрипту передается пареметр (${1})
>stop, а при входе на новый level - параметр start тебе
>же это J сказал. Похоже ты это дело в своем скрипте
>игнорируешь - отсюда два сообщения: при выходе с одного level и
>пр входе на другой. if или case на предмет анализа передаваемых
>параметров использовать надо...

да, это и имелось в виду
к тому же, наприемр, из-за проблем с диском машина может уйти в ребут и не вынырнуть самостоятельно


"RE: SMS me now!"
Отправлено uname , 01-Ноя-02 13:35 
Ура! До меня дошло:) Просто я не суперкрут в nix, и этого я не знал вообще :( но теперь знаю! Я сделал так: $run = `runlevel`; эта переменная пишеться в текст сообщения и там же что знаят цифры, 0-halt, 1-single, 2-5-multi-user, 6-reboot. Спасибо всем!


"RE: SMS me now!"
Отправлено Orbita , 04-Ноя-02 02:13 
В Debian в init.d лежит скелетон для своих скриптов. Там все по уму сделано в идеологии Debian. Выбери номер для своего скрипта, типа S65 (или как там... я давно линух несмотрел). Сделай по образу и подобию, подправь скелетончик и вперед. Будет все стройно и красиво. Я так делал включение num-lock на всех консолях после загрузки :))