Кто-нибудь написал сценарий самоконтроля и может рассказать, как он был решен? У меня на одном из роутеров стоит 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