Назад | Перейти на главную страницу

Самостоятельный сторожевой скрипт

Кто-нибудь написал сценарий самоконтроля и может рассказать, как он был решен? У меня на одном из роутеров стоит DD-WRT и могу сделать только один скрипт запуска. Проблема в том, что не запускается. Если я вхожу в систему по telnet и запускаю его вручную, он отлично работает. Поэтому мне нужно добавить правило cron для его запуска, но не запускать более одного раза. Я думал об использовании:

if [`ps | grep [c]ustom.sh` -gt 1]; then
    exit;
else
    ...
fi

Вы знаете какой-нибудь другой способ сделать это?

Вы можете использовать блокировку, которая остается в памяти (обычно / tmp - это монтирование tmpfs), которая будет снята при загрузке:

[ ! -f /tmp/rc.local.lock ]&&touch /tmp/rc.local.lock||exit

Я думаю, что проблема в том, что у вас нет той же среды, доступной в вашем скрипте, по сравнению с оболочкой ssh ​​(например, PATH ...). Вы должны записать вывод сценария в файл журнала. Просто добавьте эту строку в начало скрипта.

exec >/tmp/rc.local.log 2>&1