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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Помогите улучшить скрипт  (Прочитано 585 раз)

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

Оффлайн hesoyamatogun

  • Автор темы
  • Активист
  • *
  • Сообщений: 347
    • Просмотр профиля
Помогите улучшить скрипт
« : 08 Июля 2018, 17:52:43 »
Один раз не прислал IP, смотрю в htop ветка cut-grep-lynx висит и не шевелится, наверно браузер завис или еще что.
Допилить немного, против внештатных вероятных ситуаций, ибо доступ по динамическому IP, а узнать неоткуда.
Компьютер находится за NAT, не роутер же долбить.

(Нажмите, чтобы показать/скрыть)

ТС не появлялся на Форуме более полугода по состоянию на 09/09/2019 (последняя явка: 11/01/2019). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 09 Сентября 2019, 20:35:32 от zg_nico »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7649
  • We do what we must
    • Просмотр профиля
Re: Помогите улучшить скрипт
« Ответ #1 : 08 Июля 2018, 18:59:46 »
Код: (bash) [Выделить]
#!/bin/bash
IP="$HOME/.ip"
LastIP=$( cat $IP )
CurIP=$( curl -sfm10 ifconfig.co || echo 'Error!' )
if [[ "$LastIP" == "$CurIP" ]] ; then
    echo "IP не изменялся"
    exit 0
else
echo $CurIP > $IP
echo "Произошла смена IP
$LastIP --> $CurIP" | mail -s "Смена IP" some@mail.abc
fi

(Нажмите, чтобы показать/скрыть)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн hesoyamatogun

  • Автор темы
  • Активист
  • *
  • Сообщений: 347
    • Просмотр профиля
Re: Помогите улучшить скрипт
« Ответ #2 : 08 Июля 2018, 19:42:18 »
echo>>/dev/null да это просто заглушка,Сразу написал полный IF, не стирать же else.  NOP'ов тут нету, я проверял :)
curl -sfm10 ifconfig.co - Спасибо да, как время узнать.

Связь нельзя потерять.  может не дойти или не отправится почта.

Пользователь добавил сообщение 08 Июля 2018, 20:50:11:
Бред какойто опять начался(У меня было и остается похожее, правила для фаервола не применялись через крон, хотя скрипт срабатывал и даже задержку ставил вдруг непрогрузилась сеть - вручную работало, закинул в rc.local), так вот. Через крон */1 * * * * /root/sendmail_new_ip.bash скрипт срабатывает каждую минуту, только не отправляет почту, если изменяется содержимое .ip
Изменил только мыло
(Нажмите, чтобы показать/скрыть)
Дату, и "Отправлено" он пишет, содержимое .ip меняет, но почту не шлет! Вручную запускаю, почта сразу приходит. Что это может быть?
Добавил к команде отправки почты -vv и 2>>/var/log/sendmail_new_ip.log , между "датой" и "Oтпрвлено" полный лог от ssmtp
А через крон в логу /root/sendmail_new_ip.bash: 13: /root/sendmail_new_ip.bash: ssmtp: not foundПрописал до ssmtp полный путь и всё заработало.
Теперь везде полные пути писать или по другому лечить?

Это еще не всё. Теперь, когда через крон отправляет, он отправляет каждую минуту сообщение формата 1.1.1.1 --> 1.1.1.1 , т.е даже если IP не меняется,или меняется, без разницы. Но меняет файл .ip
Запуск же вручную нормально отрабатывает. Пхоже на сбой в матрице.

Пользователь добавил сообщение 09 Июля 2018, 09:14:59:
Может так и должно быть(гуру прекрасного ресурса сего, объясните это научное явление), в Ubuntu сервере 16 этот скрипт через крон отрабатывает неправильно(Во FreeBSD работает как положено - разница лишь в способе отправки почты). Шлёт, как я и сказал, каждую минуту сообщение, в независимости от того что в .ip
Вышел из положения, создав дополнительный скрипт со строкой запуска уже основоного скрипта, и этот дорполнительный скрипт поместив в крон.
« Последнее редактирование: 09 Июля 2018, 09:17:09 от hesoyamatogun »

 

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