1 votes

"Échec du démarrage de SYSV" lors du démarrage d'un service autonome

J'essaie de mettre en place un service, sur root, qui lancera automatiquement la base de données monetdb après le démarrage du système parce que monetdb ne fournit pas un tel mécanisme. J'ai créé /etc/init.d/monetdb Fichier script :

#!/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

J'utilise des start.sh y stop.sh scripts situés sur monetka qui s'exécutent correctement à chaque fois. Mais lorsque je veux démarrer mon service, j'obtiens une erreur et les informations suivantes :

monetdb.service - SYSV: MonetDB starter
   Loaded: loaded (/etc/rc.d/init.d/monetdb)
   Active: failed (Result: exit-code) since sro 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]: [sro, 29 kwi 2015, 14:36:30 CEST] MonetDB: dbfarm jest juz ur...miona
kwi 29 14:36:30 yamny.centOS monetdb[5390]: [sro, 29 kwi 2015, 14:36:30 CEST] MonetDB: baza demo jest juz...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.

Par ailleurs, selon le rapport ci-dessus, start.sh script fonctionne bien (comme je l'ai déjà dit).

Ce que j'ai fait jusqu'à présent :

  1. Créée /etc/init.d/monetdb script sur root
  2. Service supplémentaire avec chkconfig --add monetdb
  3. Démarrer le service avec systemctl start monetdb.service

0voto

yamny Points 111

Ok, j'ai résolu le problème en supprimant quelques lignes du fichier /etc/init.d/monetdb script

#!/bin/sh
#
# /etc/init.d/monetdb
#
# chkconfig: 2345 95 05
# description: MonetDB starter
#
case "$1" in
start)
        su - monetka -c ". start.sh"
        ;;
stop)
        su - monetka -c ". stop.sh"
        ;;
restart)
        /etc/init.d/monetdb stop
        /etc/init.d/monetdb start
        ;;
esac

Il a ensuite ajouté le service avec chkconfig --add monetdb y systemctl start/stop monetdb fonctionne comme un charme...

0voto

Valentin Vasilyev Points 6370

Il est possible que "/etc/init.d/functions" n'existe pas, ce qui ferait échouer le script original.

Compte tenu du commentaire de Ramhound, je me rends compte que j'aurais pu être plus clair dans ma réponse. J'ai rencontré exactement le même problème, et dans mon cas le script a échoué parce que le fichier /etc/init.d/functions n'existait pas. (Sur mon CentOS 6.7, il est situé dans /etc/rc.d/init.d/functions). Etant donné que Yammy a résolu lui-même son problème en "supprimant quelques lignes" de son script original (qui incluait la référence problématique à /etc/init.d/functions), j'ai pensé que d'autres personnes pourraient être aidées par une réponse plus spécifique.

Cela dit, le script pourrait également présenter d'autres problèmes, raison pour laquelle j'ai formulé ma réponse comme suit : "Il est possible que...".

Je suis surpris que Ramhound trouve que ma réponse n'apporte pas de réponse et qu'elle nécessite une clarification de la part de l'auteur de la question. Peut-être Ramhound pourrait-il préciser un peu plus en quoi il estime que ma réponse nécessite des éclaircissements de la part de l'auteur de l'affiche initiale. Les esprits curieux veulent savoir.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X