Я пытаюсь настроить службу root, которая будет автоматически запускать базу данных monetdb после запуска системы, потому что monetdb не предоставляет такой механизм. Я создал файл сценария /etc/init.d/monetdb
:
#!/bin/sh
#
# /etc/init.d/monetdb
# Subsystem file for "MonetDB" starter
#
# chkconfig: 2345 95 05
#
# processname: MonetDB
# pidfile: /var/run/MonetDB.pid
. /etc/init.d/functions
case "$1" in
start)
su - monetka -c ". start.sh"
touch /var/lock/subsys/monetdb
;;
stop)
su - monetka -c ". stop.sh"
rm -f /var/lock/subsys/monetdb
;;
status)
status monetdb
;;
restart|reload|condrestart)
/etc/init.d/monetdb stop
/etc/init.d/monetdb start
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status}"
esac
exit 2
Я использую самодельные скрипты start.sh
и stop.sh
расположенные у пользователя monetka
которые каждый раз выполняются нормально. Но когда я хочу запустить свой сервис, я получаю сообщение об ошибке и следующую информацию:
monetdb.service - SYSV: MonetDB starter
Loaded: loaded (/etc/rc.d/init.d/monetdb)
Active: failed (Result: exit-code) since śro 2015-04-29 14:36:30 CEST; 16min ago
Process: 5390 ExecStart=/etc/rc.d/init.d/monetdb start (code=exited, status=2)
kwi 29 14:36:30 yamny.centOS systemd[1]: Starting SYSV: MonetDB starter...
kwi 29 14:36:30 yamny.centOS su[5391]: (to monetka) root on none
kwi 29 14:36:30 yamny.centOS monetdb[5390]: [śro, 29 kwi 2015, 14:36:30 CEST] MonetDB: dbfarm jest już ur...miona
kwi 29 14:36:30 yamny.centOS monetdb[5390]: [śro, 29 kwi 2015, 14:36:30 CEST] MonetDB: baza demo jest już...miona
kwi 29 14:36:30 yamny.centOS systemd[1]: monetdb.service: control process exited, code=exited status=2
kwi 29 14:36:30 yamny.centOS systemd[1]: Failed to start SYSV: MonetDB starter.
kwi 29 14:36:30 yamny.centOS systemd[1]: Unit monetdb.service entered failed state.
Также, согласно отчету выше, скрипт start.sh
работает нормально (как я уже говорил ранее).
Что я сделал до сих пор:
- Создал скрипт
/etc/init.d/monetdb
в корне - Добавлен сервис с помощью
chkconfig --add monetdb
- Запустите сервис с помощью
systemctl start monetdb.service