rainmaker 11.11.2010 15:52
Есть вопрос! — [Решено] Скрипт в автозагрузке
Собственно, есть скрипт .sh, нужно чтобы он выполнялся каждый раз при загрузке системы. Выполняться должен от рута. Как это осуществить?Пихал в ~/.kde/Autostart/ - не работает. Не от рута, по всей видимости, он там выполняется.
Прописал в /etc/rc.local
sh <путь к скрипту>
Ребутнулся, всё заработало.
Всем спасибо.

+ 0 -
Предположительно надо прописывать в /etc/rc.local, но зависит от вашего дистрибутива.
Прописал содержимое скрипта в /etc/rc.local, ребутнулся, эффекта ноль.
Прописал в /etc/rc.local
sh <путь к скрипту>
Ребутнулся, всё заработало.
Всем спасибо.
sh <путь к скрипту>
Ребутнулся, всё заработало.
Всем спасибо.
Чтобы скрипты запускались простым вызовом, без sh, надо делать их исполняемыми chmod a+x
А это к чему? И в следующий раз прячь ходя бы под спойлер или обрезай до нормальных размеров
Ох, любите вы костыли.
В crontab есть директива @reboot, созданная именно для этого.
/etc/rc.local уже много лет как deprecated.
В crontab есть директива @reboot, созданная именно для этого.
/etc/rc.local уже много лет как deprecated.
@reboot выполняется при запуске крона. не очень удобно - понадобилось перезагрузить крон - команда выполнится ещё раз и в некоторых случаях может получиться каша.
Вы каждый день обновляете крон? :)
Плюс - это один из основных системных сервисов. При таких критичных обновлениях лично я заранее подготавливаюсь к ним и заранее продумываю возможные глюки. Так что можно и закоментить перед обновлением один раз.
Плюс - это один из основных системных сервисов. При таких критичных обновлениях лично я заранее подготавливаюсь к ним и заранее продумываю возможные глюки. Так что можно и закоментить перед обновлением один раз.
И, кстати, вы не со мной сейчас спорите, а со множеством разработчиков и админов. ;) Потому как в большинстве современных мануалов и инструкций рекомендуется именно @reboot, а не устаревший rc.local, который сегодня-завтра вообще из дистров выкинут(кстати, во фряхе уже выкинули).
А где можно почитать о том, что выкинут /etc/rc.local и @reboot? Очень интересно!
@reboot никуда не выкинут. Он как раз рекомендуется к использованию.
А по поводу rc.local писали во многих инструкциях. В некоторых дистрах(Gentoo, например) и во FreeBSD он уже отсутствует. В каком-то из дистрибутивов прямо в rc.local было написано в комментариях, что использование этого файла is deprecated.
А по поводу rc.local писали во многих инструкциях. В некоторых дистрах(Gentoo, например) и во FreeBSD он уже отсутствует. В каком-то из дистрибутивов прямо в rc.local было написано в комментариях, что использование этого файла is deprecated.
таким образом не все можно решить. если в sudoers для всех прописан requiretty то хрен у вас что запустится. Терминала то нет
Человеку от рута надо, так что какая разница, что там для пользователей прописано?
Извиняюсь, конечно. Но раз Debian, то не может и речи быть о /etc/rc.local. Должно быть так.
Создаётся файл сценария:
В этом сценарии прописывается всё, в т.ч. параметры запуска:
Устанавливается право запуска:
Устанавливается ссылка на сценарий, и всё!
Теперь при каждом запуске системы будет выполняться сценарий, запускающий ваш скрипт.
Надеюсь, помог.
Создаётся файл сценария:
$ sudo cp /etc/init.d/skeleton /etc/init.d/<name>
В этом сценарии прописывается всё, в т.ч. параметры запуска:
$ sudo vim /etc/init.d/<name>
Устанавливается право запуска:
$ sudo chmod a+x /etc/init.d/<name>
Устанавливается ссылка на сценарий, и всё!
$ sudo update-rc.d <name> defaults
Теперь при каждом запуске системы будет выполняться сценарий, запускающий ваш скрипт.
Надеюсь, помог.
В какой-то мере вы правы, но демон должен "слушать", а если это просто скрипт, он запустится, выполнится, выгрузится. Правильно я думаю?
И, получается, я был прав — см. п.п. 10.6 в The Debian GNU/Linux FAQ. Там же сказано, что Debian, якобы, rc.local не использует.