Всем привет!
Вот наткнулся на интересную статью для пользователей Gentoo.
Идея: Поставить сборку пакета (или обновление мира) с помощью emerge и получить SMS при выполнении.
Реализация:
Нам потребуется:
mailx client (mail-client/mailx) – это консольное приложение для отправки почты.
MTA (mail transfer agent) агент для mailx (Postfix, Sendmail или ssmtp)
Скрипт: /usr/local/sbin/emobalert
- #!/bin/sh
- # Record exit status of emerge–must precede ALL other commands!
- [ $? -eq 0 ] && RESULT=”PASS” || RESULT=”FAIL”
- # Change next line to your mobile/SMS address
- SMS_ADDR=”2015551212@sms.some-mobile.com”
- LAST_PKG=”$(tac /var/log/emerge.log | awk ‘$2 == “>>>” {print $4,$5,$6,$7; exit;}’)”
- CFG_MODS=”$(find /etc -iname ‘._cfg????_*’ | wc -l)”
- mail -s”Emerge Completed” $SMS_ADDR <<-EOM
- ${RESULT} ${LAST_PKG}
- :::
- ${CFG_MODS} config updates pending
- $*
- EOM
Замените SMS_ADDR на Ваш телефон и SMS шлюз оператора.
И сделайте скрипт исполняемым.
Запуск:
Например вот так:
emerge -uDv world; emobalert
И по окончании сборки Вы получите такое сообщение:
From: root@localhost.localdomain
(Emerge Completed)
PASS (2 of 2) app-crypt/seahorse-2.22.3
:::
0 config updates pending
По моему очень удобно.
По моему смс-шлюзов уже нема. По крайней мере у Питерских операторов их нету.
Комментарий от Andrey N. Prokofiev — Июнь 9, 2009 @ 12:19 пп
bars@localhost /usr/local/sbin $ sudo sms
/usr/local/sbin/sms: command substitution: line 6: syntax error near unexpected token `>’
/usr/local/sbin/sms: command substitution: line 6: `tac /var/log/emerge.log | awk ‘$2 == “>>>” {print $4,$5,$6,$7; exit;}’’
send-mail: Cannot open localhost:25
Can’t send mail: sendmail process failed with error code 1
как быть в этом случае…
Комментарий от bars — Июнь 14, 2009 @ 7:58 пп
Дело в том, что двойная и одинарная кавычка постоянно бьются в скриптах.
Придётся Тебе заменить их в ручную.
Я заменил и проверил, всё работает.
Комментарий от itbg — Июнь 15, 2009 @ 5:17 пп