Ad Widget

Collapse

Отправка смс

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • anisimov_evgeniy
    Member
    • Jul 2014
    • 37

    #1

    Отправка смс

    Здравствуйте,
    пытаюсь прикрутить к заббиксу отправку смс скриптом.
    Code:
    #!/bin/bash
    export 1=$1
    export 2=$2
    export 3=$3
    cat /dev/null > /home/zabbix/sms.txt
    echo "To: $1" >> /home/zabbix/sms.txt
    echo >> /home/zabbix/sms.txt
    echo "$2" >> /home/zabbix/sms.txt
    echo "$3" >> /home/zabbix/sms.txt
    cat /home/zabbix/sms.txt | sed -n  '1,4p' > /tmp/sms1.txt
    curl -n ftp://smsserver/outgoing/sms1.txt --upload-file /tmp/sms1.txt
    Всё хорошо только когда один пользователь, если создать второго, то смс приходит то одному то второму пользователю, но никогда обоим сразу.
    Подозреваю, что проблема в скрипте, но не могу понять как работает оповещение в заббиксе. Если два пользователя то скрипт запускается по очереди для каждого или одновременно? А если несколько аварий одновременно, то как? Помогите разобраться, может кто сталкивался.
  • Kos
    Senior Member
    Zabbix Certified SpecialistZabbix Certified Professional
    • Aug 2015
    • 3404

    #2
    Насколько я понимаю логику работы Вашего скрипта, он просто выкладывает сформированный тектовый файл по FTP на другой сервер, где его кто-то обрабатывает дальше для того, чтобы отправить в виде SMS. Видимо, там работает какой-то другой процесс, который периодически просматривает, нет ли чего на отправку, и если есть - то, собственно, и отправляет. Логично, что при такой организации взаимодействия вы, выкладывая несколько раз подряд разные данные в один и тот же файл по FTP, перезатираете предыдущее содержимое этого файла (если оно ещё не было обработано).

    Кстати, насколько я помню, в Zabbix-е были свои собственные средства для отсылки SMS через GSM-модем. Правда, я этим пока что не пользовался, так что опытом поделиться не могу.

    Comment

    • anisimov_evgeniy
      Member
      • Jul 2014
      • 37

      #3
      Originally posted by kos
      Насколько я понимаю логику работы Вашего скрипта, он просто выкладывает сформированный тектовый файл по ftp на другой сервер, где его кто-то обрабатывает дальше для того, чтобы отправить в виде sms. Видимо, там работает какой-то другой процесс, который периодически просматривает, нет ли чего на отправку, и если есть - то, собственно, и отправляет. Логично, что при такой организации взаимодействия вы, выкладывая несколько раз подряд разные данные в один и тот же файл по ftp, перезатираете предыдущее содержимое этого файла (если оно ещё не было обработано).

      Кстати, насколько я помню, в zabbix-е были свои собственные средства для отсылки sms через gsm-модем. Правда, я этим пока что не пользовался, так что опытом поделиться не могу.
      Вы всё правильно поняли.
      Остается вопрос как реализовать...

      Comment

      • yukra
        Senior Member
        • Apr 2013
        • 1359

        #4
        Originally posted by anisimov_evgeniy
        Вы всё правильно поняли.
        Остается вопрос как реализовать...
        Доступ к серверу, который с той стороны разбирает файл sms1.txt и непосредственно отправляем смс есть?

        Comment

        • sadman
          Senior Member
          • Dec 2010
          • 1611

          #5
          Originally posted by anisimov_evgeniy
          Вы всё правильно поняли.
          Остается вопрос как реализовать...
          Остается вопрос - где скрипт брали. Если сами писали, то сможете сделать:
          Code:
          SMSFile="sms_$RANDOM.txt"
          ...
          echo "To: $1" >> /home/zabbix/$SMSFile
          ...
          curl -n ftp://smsserver/outgoing/$SMSFile --upload-file /tmp/$SMSFile

          Comment

          • anisimov_evgeniy
            Member
            • Jul 2014
            • 37

            #6
            Originally posted by yukra
            Доступ к серверу, который с той стороны разбирает файл sms1.txt и непосредственно отправляем смс есть?
            Да есть, проверял.

            Originally posted by sadman
            Остается вопрос - где скрипт брали. Если сами писали, то сможете сделать:
            Code:
            smsfile="sms_$random.txt"
            ...
            Echo "to: $1" >> /home/zabbix/$smsfile
            ...
            Curl -n ftp://smsserver/outgoing/$smsfile --upload-file /tmp/$smsfile
            Спасибо, попробую

            Comment

            Working...