Автозапуск собственного скрипта после перезагрузки системы Debian 8.x
Posted: Sun Apr 24, 2016 2:34 pm
Всем доброго времени суток! Я понимаю, что созданная мной тема не имеет ни какого отношения к панели VESTA, но все же надеюсь на помощь. Пробовал сам, почитав различные мануалы, обращался на Русскоязычное сообщество Debian, но там только ответили
Есть скрипт xbt автозапуска XBT Tracker расположенный
Сам скрипт выглядит таким образом
Чтобы он заработал надо его сделать исполняемым и поставить в автозапуск такими командами
теперь он будет автоматически запускаться после перезагрузки системы, так же им можно управлять такими командами
Все это прекрасно работает для Debian 7.x
Но для Debian 8.x теми же командами скрипт не ставится в автозапуск, хотя вручную управляется нормально командами
Знаю что в Denian 8.x поменяли систему инициализации, нужно создать systemd юнит, после чего включить юнит в автозапуск при загрузке системы командой
К примеру чтобы запустить приведенный выше скрипт, у меня получилось примерно такое:
- сам systemd юнит у меня называться xbt.service и лежит тут
- и выглядит примерно так
- потом включаю юнит в автозапуск при загрузке системы так
- и получаю такое
Где, что упустил/пропустил/не то сделал?
В общем перепробовал создание различных конфигураций systemd юнитов и ни один не работает. Печально, то что работало без проблем на Debian 7.x, на Debian 8.x ни в какую не желает.
Заранее, всем кто откликнется и поможет разобраться, спасибо. Уверен, что решение довольно таки простое, но у меня пока не получается подружиться с systemd.
Может через cron запускать? На подобии такой команды
Только как сделать чтобы запускалось одноразово, а не через определенные промежутки времени?
И надо чтобы запускалось уже после apache2, nginx, mysql. Без mysql XBT Tracker вообще работать не будет.
У меня на VPS стоит Debian 7.10 с панелью VESTAпоменяли систему инициализации. Нужно создать systemd юнит
Есть скрипт xbt автозапуска XBT Tracker расположенный
Code: Select all
/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
chmod +x /etc/init.d/xbt
update-rc.d xbt defaults
Code: Select all
/etc/init.d/xbt start
/etc/init.d/xbt stop
/etc/init.d/xbt restart
Но для Debian 8.x теми же командами скрипт не ставится в автозапуск, хотя вручную управляется нормально командами
Code: Select all
/etc/init.d/xbt start
/etc/init.d/xbt stop
/etc/init.d/xbt restart
Code: Select all
systemctl enable юнит
- сам systemd юнит у меня называться xbt.service и лежит тут
Code: Select all
/etc/systemd/system/xbt.service
Code: Select all
[Unit]
Description=xbt service
After=syslog.target
[Service]
ExecStart=/bin/bash '/etc/init.d/xbt'
Type=simple
[Install]
WantedBy=multi-user.target
Code: Select all
systemctl enable xbt
Code: Select all
Synchronizing state for xbt.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d xbt defaults
insserv: warning: script 'K01xbt' missing LSB tags and overrides
insserv: warning: script 'xbt' missing LSB tags and overrides
Executing /usr/sbin/update-rc.d xbt enable
update-rc.d: error: xbt Default-Start contains no runlevels, aborting.
В общем перепробовал создание различных конфигураций systemd юнитов и ни один не работает. Печально, то что работало без проблем на Debian 7.x, на Debian 8.x ни в какую не желает.
Заранее, всем кто откликнется и поможет разобраться, спасибо. Уверен, что решение довольно таки простое, но у меня пока не получается подружиться с systemd.
Может через cron запускать? На подобии такой команды
Code: Select all
sudo /etc/init.d/xbt start
И надо чтобы запускалось уже после apache2, nginx, mysql. Без mysql XBT Tracker вообще работать не будет.