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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Скрипт отправки нового ip на телефон.  (Прочитано 1894 раз)

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

Оффлайн kv_msn

  • Автор темы
  • Участник
  • *
  • Сообщений: 192
  • Dnepropetrovsk
    • Просмотр профиля

Добрый день!
Есть скрипт отправки нового ip для pppoe интерфейса по sms на телефон. Сам скрипт рабочий и свою задачу выполняет.
Сам скрипт:
(Нажмите, чтобы показать/скрыть)

Хочу усовершенствовать скрипт. Нужно чтобы скрипт выполнялся в одну строку без использования дополнительного файла. Например так работает:
IP=`/sbin/ifconfig ppp555 | grep 'inet' |  awk '{ print $2}'`
echo $IP >> /etc/script/sms
echo  "Subject: New_IP" | ssmtp *мой телефонный номер*@sms.utel.ua < /etc/script/sms
Можно ли как-то передать значение переменной $IP как вывод из файла, аналог < /etc/script/sms?
Ноутбук HP Pavilion dv6-3152er (XR551EA), Intel® Core™i5-460M (2.53 ГГц)/ RAM 3ГБ / HDD 500ГБ / ATI Radeon HD 5650 / OC Ubuntu 14.04 LTS Router MIKROTIK 951Ui-2HnD

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Скрипт отправки нового ip на телефон.
« Ответ #1 : 15 Ноября 2013, 16:25:16 »
http://tombuntu.com/index.php/2008/10/21/sending-email-from-your-system-with-ssmtp/
Исходя из нагугленного, должно работать примерно так:
Код: (bash) [Выделить]
ssmtp <<< "To: recipient@example.com
From: sender@example.org
Subject: Subject

Body"

У меня на сервере решение аналогичной задачи реализовано через sendmail:
Код: (bash) [Выделить]
notify_email() {
        UNIT_STATUS="$*"
        MAIL_SUBJ="Systemd Unit Failure: $UNIT @ $HOSTNAME"
        MAIL_BODY="$UNIT_STATUS"
        MAIL_FROM="systemd@$HOSTNAME"
        MAIL_TO="admin@example.org"
        MAIL_DATE="$(LANG=C date --utc)"
        MAIL_CONTYPE="text/plain; charset=UTF-8"
        MAIL_MIMEVER="1.0"

        sendmail "$MAIL_TO" <<< "Subject: $MAIL_SUBJ
Date: $MAIL_DATE
From: $MAIL_FROM
MIME-Version: $MAIL_MIMEVER
Content-Type: $MAIL_CONTYPE

$MAIL_BODY
."
}

Оффлайн dmig

  • Старожил
  • *
  • Сообщений: 1668
    • Просмотр профиля
Re: Скрипт отправки нового ip на телефон.
« Ответ #2 : 15 Ноября 2013, 16:40:21 »
kv_msn, а с какой целью затеяно? Для доступа снаружи я раньше использовал dyndns, а клиент для него и для подобных сервисов в репозитории есть.

Оффлайн kv_msn

  • Автор темы
  • Участник
  • *
  • Сообщений: 192
  • Dnepropetrovsk
    • Просмотр профиля
Re: Скрипт отправки нового ip на телефон.
« Ответ #3 : 15 Ноября 2013, 17:55:49 »
ArcFi как раз то что нужно, сделал так:
(Нажмите, чтобы показать/скрыть)
А это все можно уместить в одной строке используя что-то подобное \n?

dmig Сервис ddns тоже использую, но без клиента, делаю так:
(Нажмите, чтобы показать/скрыть)
но бывает так что имя не прописывается. Можно конечно зайти в личный кабинет на сайте провайдера и посмотреть, но через смс ведь удобнее. И к примеру если нет интернета, то всегда быстро узнаю когда он появляется.

   
Ноутбук HP Pavilion dv6-3152er (XR551EA), Intel® Core™i5-460M (2.53 ГГц)/ RAM 3ГБ / HDD 500ГБ / ATI Radeon HD 5650 / OC Ubuntu 14.04 LTS Router MIKROTIK 951Ui-2HnD

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Скрипт отправки нового ip на телефон.
« Ответ #4 : 15 Ноября 2013, 18:00:22 »
А это все можно уместить в одной строке используя что-то подобное \n?
Можете попробовать по аналогии вот с этим:
Код: (bash) [Выделить]
bash <<< "$(echo -e "ls ~\nls /")"

Оффлайн kv_msn

  • Автор темы
  • Участник
  • *
  • Сообщений: 192
  • Dnepropetrovsk
    • Просмотр профиля
Re: Скрипт отправки нового ip на телефон.
« Ответ #5 : 17 Ноября 2013, 17:33:29 »
ArcFi, большое спасибо. Сделал так:
ssmtp -vvv *мой телефонный номер*@sms.utel.ua <<< "$(echo -e "To: *мой телефонный номер*@sms.utel.ua \\nFrom: *моя почта*@gmail.com\\nSubject: New IP\\nNew IP int ppp555:\\n`/sbin/ifconfig ppp555 | grep 'inet' |  awk '{ print $2}'`")"

Где-то нашел что симол \n должен быть экранирован \\n, но работает и так и так. И еще вопрос что означает эта штука <<<?
Ноутбук HP Pavilion dv6-3152er (XR551EA), Intel® Core™i5-460M (2.53 ГГц)/ RAM 3ГБ / HDD 500ГБ / ATI Radeon HD 5650 / OC Ubuntu 14.04 LTS Router MIKROTIK 951Ui-2HnD

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Скрипт отправки нового ip на телефон.
« Ответ #6 : 17 Ноября 2013, 18:22:40 »
И еще вопрос что означает эта штука <<<?
Это передача на стандартный ввод в bash, бывает полезно для автоматизации работы с интерактивными приложениями.

Оффлайн kv_msn

  • Автор темы
  • Участник
  • *
  • Сообщений: 192
  • Dnepropetrovsk
    • Просмотр профиля
Re: Скрипт отправки нового ip на телефон.
« Ответ #7 : 18 Ноября 2013, 00:52:39 »
Проблема решена, тема закрыта.
Ноутбук HP Pavilion dv6-3152er (XR551EA), Intel® Core™i5-460M (2.53 ГГц)/ RAM 3ГБ / HDD 500ГБ / ATI Radeon HD 5650 / OC Ubuntu 14.04 LTS Router MIKROTIK 951Ui-2HnD

 

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