echo
Не показывает Вам пробел в конце. Для этого Вам нужно что-то как echo "${URL_PARAMS}x"
. Можно сделать set -x
сразу перед wget
звоните и set +x
сразу после, чтобы видеть, как wget
назван.
Проблемой является разделение слова оболочки:
${ARG_DATE/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/1} = "1"
вместо
"${ARG_DATE/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/1}" = "1"
Решение состояло бы в том, чтобы поместить это перед той (фиксированной) строкой:
ARG_DATE="${ARG_DATE// /}"
Что вы пытаетесь сделать (используйте предварительно установленный крюк) - это самый элегантный подход.
Но когда это невозможно, потому что нет ни одного крючка или те, которые не соответствуют вашим потребностям, подход опроса также является вариантом.
Вы можете отслеживать вывод компонентов гайка в / var / log
файлов.
Мои (Salicru UPS на Debian 7), например, журналы этого:
28 13:37:49 Имя хоста UPSMON [1766]: UPS Salicru @ Caramon на аккумулятор
, когда UPS переключается в аккумулятор, а также Это
28 13:39:39 Имя хоста UPSMON [1766]: UPS Salicru @ Caramon на линии линии
, когда мощность вернулась.
Вы можете моделировать сбой питания, см. Сообщения журнала, а затем написать задание CRON, которая запускается каждую минуту (или 5 минут), ищет эти строки в журналах и требует действий, который вы хотите.
Вы можете попробовать использовать upssched.conf(5)
, чтобы запустить свой собственный скрипт на таймере после того, как произойдет событие.
Основной upssched.conf
будет что-то вроде этого:
CMDSCRIPT /bin/your-script.sh
AT ONBATT * EXECUTE emailonbatt
AT ONBATT * START-TIMER upsonbatt 300
AT ONLINE * EXECUTE emailonline
AT ONLINE * CANCEL-TIMER upsonbatt upsonline
С этим, NUT будет:
/bin/your-script.sh emailwarn
. /bin/your-script.sh upsonbatt
. /bin/your-script.sh upsonline
. апсонбат
, если он все еще активен. В противном случае, запустите /bin/your-script.sh upsonline
. Сценарий может быть чем-то вроде:
#!/bin/bash
case $1 in
emailonbatt)
mail -s "UPS on battery power" your@email.com
;;
emailonline)
mail -s "UPS on line power" your@email.com
;;
upsonbatt)
ssh root@nas shutdown -h +0
;;
upsonline)
etherwake 01:23:45:AB:CD:EF
;;
esac
Синтаксис для оператора AT можно найти в man-странице для upssched.conf(5)
, а доступные типы событий уведомления можно найти в man-странице для upsmon(8)
.