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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Скрипт не работает через Cron  (Прочитано 750 раз)

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

Оффлайн tarya

  • Автор темы
  • Активист
  • *
  • Сообщений: 305
    • Просмотр профиля
Скрипт не работает через Cron
« : 15 Ноября 2018, 20:06:13 »
Добрый день.

Появилась мысль установить на сервер telegram-cli и через него отправлять уведовления к себе на телефон. Потому что почту не всегда проверяешь, а сделать чтоб письмо "кричало" как то не выходит.

Поставил телеграмм, накрутил его. Все отправляет. Написал по примеру скрипт на который отправляються сообщения. Добавил его в скрипт который проверяет пингуется ли один айпи и вслучае если нет то отправляет сообщения.

Если все это просто запускать напрямую - все работает, сообщения шлются. Если же скрипт запускать из под Крона - тишина.

Крон
*/1 *   * * *   root    /etc/getstatus.sh

#!/bin/bash

HOSTS=99.99.69.13
# no ping request
COUNT=6

for myHost in $HOSTS
do
  count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
  if [ $count -eq 0 ]
        then
        /usr/src/tg/viacron/telegram_standalone.sh "ALERT! Internet is Down" &> /dev/null
  fi
done

#!/bin/bash
# See
# https://github.com/gnumoksha/zabbix_utils/blob/master/gnu%2Blinux/alertscripts/

MAIN_DIRECTORY="/usr/src/tg/viacron/"
SUBJECT=$1

cd $MAIN_DIRECTORY
if [[ $? -ne 0 ]]; then
        echo "Error to enter in the main directory"
        exit 1
fi

./telegram-cli -k tg-server.pub -WR -e "msg @tarya $SUBJECT" || exit 1

exit 0

И тишина.

Подскажите чего так если кто знает.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Скрипт не работает через Cron
« Ответ #1 : 15 Ноября 2018, 20:08:27 »
просто запускать напрямую
От рута или от себя, любимого?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн tarya

  • Автор темы
  • Активист
  • *
  • Сообщений: 305
    • Просмотр профиля
Re: Скрипт не работает через Cron
« Ответ #2 : 15 Ноября 2018, 22:06:00 »
Не от себя, и все работает и без рута.

Пользователь добавил сообщение 15 Ноября 2018, 22:08:41:
Работает и рутом и так.
« Последнее редактирование: 15 Ноября 2018, 22:08:41 от tarya »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6752
  • 20% Cooler
    • Просмотр профиля
Re: Скрипт не работает через Cron
« Ответ #3 : 16 Ноября 2018, 16:15:12 »
в логах что?

journalctl -b0 | grep -i cron
🖥 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

Оффлайн tarya

  • Автор темы
  • Активист
  • *
  • Сообщений: 305
    • Просмотр профиля
Re: Скрипт не работает через Cron
« Ответ #4 : 16 Ноября 2018, 16:58:28 »
Ничего особенного нет, просто что был выполнен скрипт, но где смотреть что и как произошло я не знаю.

Nov 16 15:57:01 Homeless CRON[11481]: (root) CMD (/etc/getstatus.sh)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Скрипт не работает через Cron
« Ответ #5 : 16 Ноября 2018, 18:45:44 »
Цитировать
/etc/getstatus.sh
чо
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн tarya

  • Автор темы
  • Активист
  • *
  • Сообщений: 305
    • Просмотр профиля
Re: Скрипт не работает через Cron
« Ответ #6 : 16 Ноября 2018, 19:50:11 »
?

Пользователь добавил сообщение 16 Ноября 2018, 19:56:33:
У меня все получилось. Подумал чуток и вышло. Так как Телеграм залогиненый то когда скрипт выполняется в Кроне от имени рута то ничего не работает. Прописал выполнять от имени меня и все заработало.

Вероятно первый ответ и был про это.

Пользователь добавил сообщение 16 Ноября 2018, 20:05:45:
Осталось сделать последнее - разлогиниться от Телеграмма чтоб залогиниться от другого имени и отправлять себе уведомления, иначе если слать самому себе то в телефоне не пикает ничего просто сообщения падают в "драфты". А нужно чтоб было "ау". Ну а как розлогиниться никто толком не знает.
« Последнее редактирование: 16 Ноября 2018, 20:05:45 от tarya »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6752
  • 20% Cooler
    • Просмотр профиля
Re: Скрипт не работает через Cron
« Ответ #7 : 16 Ноября 2018, 20:50:37 »
отправлять себе уведомления,
просто бота создайте и отправляйте от его имени
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 16 Ноября 2018, 22:25:22 от ALiEN175 »
🖥 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

 

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