Execute dois scripts com init.d

1

Eu tenho um script de início para o servidor TeamSpeak3 em /etc/init.d que é executado no momento da inicialização.

#! /bin/sh
### BEGIN INIT INFO
# Provides:          ts3
# Required-Start:    $network mysql
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: TeamSpeak3 Server Daemon
# Description:       Starts/Stops/Restarts the TeamSpeak Server Daemon
### END INIT INFO

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="TeamSpeak3 Server"
NAME=teamspeak3-server
USER=teamspeak3
DIR=/opt/teamspeak3-server
OPTIONS=inifile=ts3server.ini
DAEMON=$DIR/ts3server_startscript.sh
#PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

sleep 2
sudo -u $USER $DAEMON $1 $OPTIONS

E eu preciso que isso aconteça:

  1. Execute um script ./MyScript que sai imediatamente e está localizado no diretório TS3
  2. Espere algum tempo
  3. Execute o daemon real que permanecerá em execução

Eu não sou muito bom com scripts Unix, eu só preciso executar um servidor com isso. Eu também devo mencionar que estou executando o Ubuntu mais recente.

Obrigado pela ajuda, krejcar25

    
por Michal Krejčí 29.11.2016 / 22:59

1 resposta

0

É simples executá-lo antes do comando que executa o TS3 DAEMON na última linha do seu script, em seguida, defina o comando sleep por 5 segundos, por exemplo, e o script será assim:

#! /bin/sh
### BEGIN INIT INFO
# Provides:          ts3
# Required-Start:    $network mysql
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: TeamSpeak3 Server Daemon
# Description:       Starts/Stops/Restarts the TeamSpeak Server Daemon
### END INIT INFO

set -e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="TeamSpeak3 Server"
NAME=teamspeak3-server
USER=teamspeak3
DIR=/opt/teamspeak3-server
OPTIONS=inifile=ts3server.ini
DAEMON=$DIR/ts3server_startscript.sh
#PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0

sleep 2
#####################################################
$DIR/MyScript
sleep 5
#####################################################
sudo -u $USER $DAEMON $1 $OPTIONS

o $DER var se refere ao diretório de serviço do TS3 /opt/teamspeak3-server

    
por 30.11.2016 / 08:01