Автозапуск собственного скрипта после перезагрузки системы Debian 8.x
Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x
Ну в принципе на примере rc.local, nginx, mysql и делал, сравнивая их и читая https://wiki.debian.org/LSBInitScripts , то что получилось, показал выше. Возможно с этим поиграться надоuserV wrote:vi /etc/rc.local и перед exit
/home/xbt/Tracker/xbt_tracker --conf_file xbt_tracker.conf
:)
в /etc/init.d/ много примеров
Code: Select all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x
Можно туда же просто /etc/init.d/xbt start записать
Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x
Пробовал уже это ранее в /etc/rc.local , почему-то не срабатывает в 8-й версии, хотя и файл вроде исполняемый, по крайней мере права выставлены на него.userV wrote:Можно туда же просто /etc/init.d/xbt start записать
Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x
может в apparmor правило добавить нужно? все таки home директорияNORMANN wrote:Пробовал уже это ранее в /etc/rc.local , почему-то не срабатывает в 8-й версии, хотя и файл вроде исполняемый, по крайней мере права выставлены на него.userV wrote:Можно туда же просто /etc/init.d/xbt start записать
Required-Start: $ALL
Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x
Попробую для 8-й версии.userV wrote:
может в apparmor правило добавить нужно? все таки home директория
Required-Start: $ALL
А пока итог для Debian 7.10 на виртуальной машине + Vesta + XBT Tracker
xbt скрипт в /etc/init.d/xbt имеет такой вид
Code: Select all
#!/bin/bash
XBT_PATH="/home/xbt/Tracker"
case "$1" in
start)
echo "Start XBT Tracker"
cd $XBT_PATH
./xbt_tracker --conf_file xbt_tracker.conf
echo $?
;;
stop)
echo "Stop XBT Tracker"
kill `cat /var/run/xbt_tracker.pid`
echo $?
;;
restart)
kill `cat /var/run/xbt_tracker.pid`
sleep 2
cd $XBT_PATH
./xbt_tracker --conf_file xbt_tracker.conf
;;
*)
echo "Usage: /etc/init.d/xbt {start|stop|restart}"
exit 1
;;
esac
exit 0
Code: Select all
### BEGIN INIT INFO
# Provides: xbt
# Required-Start: $remote_fs $syslog $local_fs
# Required-Stop: $remote_fs $syslog $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start xbt at boot time
# Description: Enable service provided by xbt.
### END INIT INFO
Code: Select all
chmod +x /etc/init.d/xbt
Code: Select all
update-rc.d xbt defaults
Code: Select all
update-rc.d: using dependency based boot sequencing
insserv: warning: script 'xbt' missing LSB tags and overrides
проверяю работу по адресу http://XX.XX.XX.XX:2710/st
автоматически запустился
В rc0.d, rc1.d, rc6.d имеем K01xbt, а в rc2.d, rc3.d, rc4.d, rc5.d имеем S17xbt отличается от 8-й версии, то что делал ранее.
Т.е в 7.10 версии все прекрасно даже св rc0.d, rc1.d, rc6.d появилось K01xbt , в rc2.d, rc3.d, rc4.d, rc5.d появилось S03xbt
Code: Select all
update-rc.d: using dependency based boot sequencing
insserv: warning: script 'xbt' missing LSB tags and overrides
Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x
В общем в Debian 8.4 пока ничего толкового не получается. Не помогает ни в перед exit
, ни в перед exit В последнем случае через раз или через два (в общем не регулярно) срабатывает автозапуск после перезагрузки ОС, но это не то. Временно решил завязать с Debian 8.4 и остаться там, где все работает стабильно - на Debian 7.10. А то у меня уже нервов не хватает на 8-ю версию, то это там не так, то другое не то, касается не только данного скрипта, а в общем и целом. Что-то уж больно усложнили они жизнь пользователя. То же самое происходит и в CentOS 7, в отличии от CentOS 6.x. С этой новой инициализацией и systemd юнит вообще какая-то засада.
Тему буду отслеживать, если у кого-то будут возникать еще какие-то предложения, буду пробовать. На виртуальной машине на компе оставил на всякий случай Debian 8.4 с панелью Vesta + XBT Tracker до лучших времен, может самому что в голову придет, потом отпишусь обязательно.
Code: Select all
/etc/rc.local
Code: Select all
/home/xbt/Tracker/xbt_tracker --conf_file xbt_tracker.conf
Code: Select all
/etc/rc.local
Code: Select all
/etc/init.d/xbt start
Тему буду отслеживать, если у кого-то будут возникать еще какие-то предложения, буду пробовать. На виртуальной машине на компе оставил на всякий случай Debian 8.4 с панелью Vesta + XBT Tracker до лучших времен, может самому что в голову придет, потом отпишусь обязательно.
Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x
Required-Start: $ALL ?
/etc/apparmor.d/usr.sbin.named /home/** rwm ?
install ubuntu lts?)
/etc/apparmor.d/usr.sbin.named /home/** rwm ?
install ubuntu lts?)
Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x
С первыми двумя пробовал, все тоже самое, я даже с /home/ переустановил в /root/ (вообще по умолчанию в /root/ должно устанавливаться, это я сам уже в /home/ поставил). От третьего бог миловал, это вообще не вариант, я лучше в ручную запускать буду или на 7-версии останусь, чтобы автозапуск работал.userV wrote:Required-Start: $ALL ?
/etc/apparmor.d/usr.sbin.named /home/** rwm ?
install ubuntu lts?)
Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x
xbt требует что-то, что не успевает запуститься. можно взять измором или просто паузой вначале или определить это что-то.NORMANN wrote:В последнем случае через раз или через два (в общем не регулярно) срабатывает автозапуск после перезагрузки ОС, но это не то.
Code: Select all
case "$1" in
start)
echo "Start XBT Tracker"
cd $XBT_PATH
sleep 20s
./xbt_tracker --conf_file xbt_tracker.conf # можно убрать
sleep 5s
while [[ $(pidof xbt) == '' ]] # или что то другое врятле такой pid
do
./xbt_tracker --conf_file xbt_tracker.conf
sleep 5s
done
echo $?
;;
Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x
В общем, методом научного тыка, кое-что нашел.
Если для 8-й версии делать все то же самое что и для 7-й версии, то как я описывал выше в /etc/rc2.d, /etc/rc3.d, /etc/rc4.d, /etc/rc5.d имеем S03xbt, а в 7-й версии S17xbt
Я взял тупо вручную переименовал ссылки S03xbt в S17xbt в 8-й версии и автозапуск заработал так как и надо, без единого сбоя после многократных reboot, даже при запуске ОС после powerooff , а не reboot.
Вот теперь надо сообразить какой должна быть команда update-rc.d xbt defaults, чтобы сразу в /etc/rc2.d, /etc/rc3.d, /etc/rc4.d, /etc/rc5.d было S17xbt
Читаю пока это http://manpages.ylsoftware.com/ru/update-rc.d.8.html
update-rc.d xbt defaults 17 01 не помогает, остается S03xbt, а не S17xbt
Если для 8-й версии делать все то же самое что и для 7-й версии, то как я описывал выше в /etc/rc2.d, /etc/rc3.d, /etc/rc4.d, /etc/rc5.d имеем S03xbt, а в 7-й версии S17xbt
Я взял тупо вручную переименовал ссылки S03xbt в S17xbt в 8-й версии и автозапуск заработал так как и надо, без единого сбоя после многократных reboot, даже при запуске ОС после powerooff , а не reboot.
Вот теперь надо сообразить какой должна быть команда update-rc.d xbt defaults, чтобы сразу в /etc/rc2.d, /etc/rc3.d, /etc/rc4.d, /etc/rc5.d было S17xbt
Читаю пока это http://manpages.ylsoftware.com/ru/update-rc.d.8.html
update-rc.d xbt defaults 17 01 не помогает, остается S03xbt, а не S17xbt