LINUX.ORG.RU
ФорумAdmin

Настройка CRON

 ,


0

1

Скрипт пингует адрес и если не проходит прописывает маршрут. Я его запускаю, всё нормально. Если указываю запускать по расписанию CRON ,скрипт отрабатывает но маршрут не прописывается. Подскажите , куда смотреть ?


Ответ на: комментарий от anc

#!/bin/bash while true do clear hosts=(«192.168.99.100») for h in ${hosts[@]}; do result=$(ping -c 2 -W 1 -q $h | grep transmitted) pattern=«0 received»; if [[ $result =~ $pattern ]]; then echo «$h is down» sudo ip route add 192.168.99.100 via 10.10.5.1 echo «im down and UP ))» > /home/messagesDC.log else echo «$h is up» fi sleep 10 done done

ChipT
() автор топика
Ответ на: комментарий от ChipT

Со скриптом всё в порядке , он выполняется корректно. По расписанию тоже запускается , но маршрут не прописывает.

ChipT
() автор топика
Ответ на: комментарий от ChipT

Я вам уже ответил «Полные пути» или прописать в переменные крона PATH
Далее что за изврат «sudo ip...» или вы не из под рута задачу создали?

anc ★★★★★
()
Ответ на: комментарий от ChipT

Это невозможно читать, читай правила разметки (перед кнопкой отправки и внизу страницы есть ссылки).

Как уже сказал @anc, в скрипте нужно прописывать полные пути.

Не важно, отрабатывает ли скрипт при запуске вручную, в cron совершенно другое окружение, поведение будет иное.

sudo не нужно в скриптах для cron, лучше назначать эти задачи общесистемно (или хотя бы от пользователя root).

Ну и дополнительно: я не вижу упоминаний о реализации cron (vixie, anacron, cronie?).

mord0d ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.