Прежде всего, вы должны иметь возможность уменьшить ваш скрипт до
if ! pgrep "91\.34\.124\.35" > /dev/null; then ./your_script.sh; fi
Чтобы запускать это каждые 30 секунд через cron (потому что cron запускается только каждую минуту), вам нужно 2 записи - одна для запуска команды, другая для задержки на 30 секунд перед повторным выполнением этой же команды. Например:
* * * * * root if ! pgrep "91\.34\.124\.35" > /dev/null; then ./your_script.sh; fi
* * * * * root sleep 30; if ! pgrep "91\.34\.124\.35" > /dev/null; then ./your_script.sh; fi
Чтобы сделать это чище, вы можете сначала сохранить команду в переменной и использовать ее для обеих записей. (Я не проверял это).
CHECK_COMMAND="if ! pgrep '91\.34\.124\.35' > /dev/null; then ./your_script.sh; fi"
* * * * * root eval "$CHECK_COMMAND"
* * * * * root sleep 30; eval "$CHECK_COMMAND"
p.s. Выше предполагается, что вы добавляете это к /etc/crontab
. Чтобы использовать его в пользовательском crontab (crontab -e
), просто пропустите имя пользователя (root
) перед командой.