Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
-
Guyver
- Beiträge: 16
- Registriert: 03.08.2010 10:12:57
Beitrag
von Guyver » 28.04.2011 12:33:28
Hallo liebe Debian-Leute,
ich habe seit neuestem auf meinem Root-Server Debian 6.0.1a laufen und möchte einen Daemon mit hilfe des update-rc.d einrichten.
Bevor ich das aber mache, möchte ich euch mein INIT-Script mal posten, ob ich da nicht einen Fehler mache.
Kurz zur sache.
Der Teamspeak3-Server soll via su als User TS aufgerufen werden.
Code: Alles auswählen
#!/bin/bash
### BEGIN INIT INFO
# Provides: ts3server
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: TS3-Server als Daemon
# Description: Startet TS3-Server unter den dem Nutzer "TS" als Daemon.
### END INIT INFO
TSUSER="ts"
TSDIR="ts3"
/bin/su ${TSUSER} -c "/home/${TSUSER}/${TSDIR}/ts3server_startscript.sh $1"
Danke fürs Korrekturlesen
Zuletzt geändert von
Guyver am 03.07.2011 10:26:43, insgesamt 2-mal geändert.
-
Meillo
- Moderator
- Beiträge: 9267
- Registriert: 21.06.2005 14:55:06
- Wohnort: Balmora
-
Kontaktdaten:
Beitrag
von Meillo » 28.04.2011 12:51:40
So funktioniert dein Init-Script nicht. Es muss zumindest die Argumente `start', `stop', und `restart' unterstuetzen. Schau dir mal die Dateien in /etc/init.d/ an.
Use ed once in a while!
-
diggerchen
- Beiträge: 115
- Registriert: 15.01.2005 22:35:26
Beitrag
von diggerchen » 28.04.2011 13:32:20
In etwa der Art funktioniert das so bei mir prima. Das Script ist ja im Grunde nicht mehr als ein Wrapper um den Benutzer zu wechseln, "start", "stop" usw. werden dann vom TS3-Script verwendet.
Habe quick & dirty auch den Header weggelassen und den Symlink in rc2.d händisch angelegt. Faul isser...
AFAIK muss der Shebang in die 1. Scriptzeile wenn er wirken soll.
-
Guyver
- Beiträge: 16
- Registriert: 03.08.2010 10:12:57
Beitrag
von Guyver » 28.04.2011 13:55:02
Meillo hat geschrieben:So funktioniert dein Init-Script nicht. Es muss zumindest die Argumente `start', `stop', und `restart' unterstuetzen. Schau dir mal die Dateien in /etc/init.d/ an.
@Meillo:
Das ts3server_startscript.sh kennt start/stop und co.
Mir geht es um die INIT-Info. Habe ich da was vergessen oder gibt es noch eine gute ergänzung?
-
Guyver
- Beiträge: 16
- Registriert: 03.08.2010 10:12:57
Beitrag
von Guyver » 28.04.2011 13:56:44
diggerchen hat geschrieben:AFAIK muss der Shebang in die 1. Scriptzeile wenn er wirken soll.
Was?
Ich versteh grad nicht was Du meinst.
-
Meillo
- Moderator
- Beiträge: 9267
- Registriert: 21.06.2005 14:55:06
- Wohnort: Balmora
-
Kontaktdaten:
Beitrag
von Meillo » 28.04.2011 14:16:20
diggerchen hat geschrieben:In etwa der Art funktioniert das so bei mir prima. Das Script ist ja im Grunde nicht mehr als ein Wrapper um den Benutzer zu wechseln, "start", "stop" usw. werden dann vom TS3-Script verwendet.
Sorry, mein Fehler. Danke fuer die Erklaerung.
Use ed once in a while!
-
diggerchen
- Beiträge: 115
- Registriert: 15.01.2005 22:35:26
Beitrag
von diggerchen » 28.04.2011 15:38:24
Guyver hat geschrieben:diggerchen hat geschrieben:AFAIK muss der Shebang in die 1. Scriptzeile wenn er wirken soll.
Was?
Ich versteh grad nicht was Du meinst.
steht bei Dir in der Mitte des Scripts (unterhalb des
LSB-Krams). Muss aber in der 1. Zeile stehen um nicht ignoriert zu werden.
Guyver hat geschrieben:Mir geht es um die INIT-Info. Habe ich da was vergessen oder gibt es noch eine gute ergänzung?
Wie bereits geschrieben hab ich mein Script ohne LSB-Style im Einsatz und kann Dir daher nicht weiterhelfen.
-
rendegast
- Beiträge: 15041
- Registriert: 27.02.2006 16:50:33
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von rendegast » 28.04.2011 20:14:17
Im allgemeinen wird insserv die Startskripte sortieren (mittlerweile).
Verwendest Du einen validen LSB-Header, werden Fehlermeldungen
oder auch möglicherweise ständiges Umsortieren vermieden.
Diese eventuellen Fehlermeldungen zu vermeiden ist anzuraten,
da dadurch Upgrades oder (De)Installation anderer Pakete mit Dateien in /etc/init.d/ gestört werden könnten.
Viele Startskripte haben das Konstrukt ":" als Abschluß.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-
Guyver
- Beiträge: 16
- Registriert: 03.08.2010 10:12:57
Beitrag
von Guyver » 12.06.2011 16:40:53
rendegast hat geschrieben:Im allgemeinen wird insserv die Startskripte sortieren (mittlerweile).
Verwendest Du einen validen LSB-Header, werden Fehlermeldungen
oder auch möglicherweise ständiges Umsortieren vermieden.
Diese eventuellen Fehlermeldungen zu vermeiden ist anzuraten,
da dadurch Upgrades oder (De)Installation anderer Pakete mit Dateien in /etc/init.d/ gestört werden könnten.
Viele Startskripte haben das Konstrukt ":" als Abschluß.
Also meinst Du das das Skript das via INSSERV "installiert" wird so aussehen sollte:
Code: Alles auswählen
#!/bin/bash
TSUSER="ts"
TSDIR="ts3"
/bin/su ${TSUSER} -c "/home/${TSUSER}/${TSDIR}/ts3server_startscript.sh $1"
Aber was meinst Du mit: "Viele Startskripte haben das Konstrukt ":" als Abschluß" ?
-
rendegast
- Beiträge: 15041
- Registriert: 27.02.2006 16:50:33
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von rendegast » 12.06.2011 18:59:54
Also meinst Du das das Skript das via INSSERV "installiert" wird so aussehen sollte:
Code: Alles auswählen
#!/bin/bash
TSUSER="ts"
TSDIR="ts3"
/bin/su ${TSUSER} -c "/home/${TSUSER}/${TSDIR}/ts3server_startscript.sh $1"
Dann hätte es wieder keine LSB-Header.
das Konstrukt ":"
ist ein shell-Builtin,
Code: Alles auswählen
SHELL BUILTIN COMMANDS
Unless otherwise noted, each builtin command documented in this section as
accepting options preceded by - accepts -- to signify the end of the options.
The :, true, false, and test builtins do not accept options and do not treat --
specially. The exit, logout, break, continue, let, and shift builtins accept and
process arguments beginning with - without requiring --. Other builtins that
accept arguments but are not specified as accepting options interpret arguments
beginning with - as invalid options and require -- to prevent this interpreta‐
tion.
: [arguments]
No effect; the command does nothing beyond expanding arguments and per‐
forming any specified redirections. A zero exit code is returned.
. filename [arguments]
source filename [arguments]
Macht also nix außer einen fehlerlosen Exit-Wert,
alternativ 'exit 0'.
(War eine Beobachtung beim schnellen Sichten der init-Skripte.)
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")