Page 2 of 3

Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x

Posted: Tue Apr 26, 2016 11:14 am
by NORMANN
userV wrote:vi /etc/rc.local и перед exit
/home/xbt/Tracker/xbt_tracker --conf_file xbt_tracker.conf

:)

в /etc/init.d/ много примеров
Ну в принципе на примере rc.local, nginx, mysql и делал, сравнивая их и читая https://wiki.debian.org/LSBInitScripts , то что получилось, показал выше. Возможно с этим поиграться надо

Code: Select all

# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
Сейчас ставлю на виртуальную машину на компе и Debian 7.10 и Debian 8.4 с панелью Vesta + XBT Tracker ( http://xbtt.sourceforge.net/tracker/ ), буду сравнивать работу скрипта, заодно и попробую /home/xbt/Tracker/xbt_tracker --conf_file xbt_tracker.conf прописать в /etc/rc.local

Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x

Posted: Tue Apr 26, 2016 11:33 am
by userV
Можно туда же просто /etc/init.d/xbt start записать

Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x

Posted: Tue Apr 26, 2016 11:46 am
by NORMANN
userV wrote:Можно туда же просто /etc/init.d/xbt start записать
Пробовал уже это ранее в /etc/rc.local , почему-то не срабатывает в 8-й версии, хотя и файл вроде исполняемый, по крайней мере права выставлены на него.

Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x

Posted: Tue Apr 26, 2016 11:58 am
by userV
NORMANN wrote:
userV wrote:Можно туда же просто /etc/init.d/xbt start записать
Пробовал уже это ранее в /etc/rc.local , почему-то не срабатывает в 8-й версии, хотя и файл вроде исполняемый, по крайней мере права выставлены на него.
может в apparmor правило добавить нужно? все таки home директория
Required-Start: $ALL

Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x

Posted: Tue Apr 26, 2016 12:43 pm
by NORMANN
userV wrote:
может в apparmor правило добавить нужно? все таки home директория
Required-Start: $ALL
Попробую для 8-й версии.

А пока итог для 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
делаю reboot
проверяю работу по адресу http://XX.XX.XX.XX:2710/st
автоматически запустился
Image
В rc0.d, rc1.d, rc6.d имеем K01xbt, а в rc2.d, rc3.d, rc4.d, rc5.d имеем S17xbt отличается от 8-й версии, то что делал ранее.
в rc0.d, rc1.d, rc6.d появилось K01xbt , в rc2.d, rc3.d, rc4.d, rc5.d появилось S03xbt
Т.е в 7.10 версии все прекрасно даже с

Code: Select all

update-rc.d: using dependency based boot sequencing
insserv: warning: script 'xbt' missing LSB tags and overrides
Теперь буду колдовать с 8-й версией на параллельной виртуальной машине + Vesta + XBT Tracker, все абсолютно с теми же конфигурациями.

Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x

Posted: Wed Apr 27, 2016 6:52 am
by NORMANN
В общем в Debian 8.4 пока ничего толкового не получается. Не помогает ни в

Code: Select all

/etc/rc.local
перед exit

Code: Select all

/home/xbt/Tracker/xbt_tracker --conf_file xbt_tracker.conf
, ни в

Code: Select all

/etc/rc.local
перед exit

Code: Select all

/etc/init.d/xbt start
В последнем случае через раз или через два (в общем не регулярно) срабатывает автозапуск после перезагрузки ОС, но это не то. Временно решил завязать с Debian 8.4 и остаться там, где все работает стабильно - на Debian 7.10. А то у меня уже нервов не хватает на 8-ю версию, то это там не так, то другое не то, касается не только данного скрипта, а в общем и целом. Что-то уж больно усложнили они жизнь пользователя. То же самое происходит и в CentOS 7, в отличии от CentOS 6.x. С этой новой инициализацией и systemd юнит вообще какая-то засада.

Тему буду отслеживать, если у кого-то будут возникать еще какие-то предложения, буду пробовать. На виртуальной машине на компе оставил на всякий случай Debian 8.4 с панелью Vesta + XBT Tracker до лучших времен, может самому что в голову придет, потом отпишусь обязательно.

Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x

Posted: Wed Apr 27, 2016 2:10 pm
by userV
Required-Start: $ALL ?
/etc/apparmor.d/usr.sbin.named /home/** rwm ?

install ubuntu lts?)

Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x

Posted: Wed Apr 27, 2016 3:52 pm
by NORMANN
userV wrote:Required-Start: $ALL ?
/etc/apparmor.d/usr.sbin.named /home/** rwm ?

install ubuntu lts?)
С первыми двумя пробовал, все тоже самое, я даже с /home/ переустановил в /root/ (вообще по умолчанию в /root/ должно устанавливаться, это я сам уже в /home/ поставил). От третьего бог миловал, это вообще не вариант, я лучше в ручную запускать буду или на 7-версии останусь, чтобы автозапуск работал.

Re: Автозапуск собственного скрипта после перезагрузки системы Debian 8.x

Posted: Wed Apr 27, 2016 10:23 pm
by userV
NORMANN wrote:В последнем случае через раз или через два (в общем не регулярно) срабатывает автозапуск после перезагрузки ОС, но это не то.
xbt требует что-то, что не успевает запуститься. можно взять измором или просто паузой вначале или определить это что-то.

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

Posted: Thu Apr 28, 2016 9:03 am
by NORMANN
В общем, методом научного тыка, кое-что нашел.
Если для 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