init.dを使用して2つのスクリプトを実行する

init.dを使用して2つのスクリプトを実行する

/etc/init.d起動時に実行されるTeamSpeak3サーバー用の起動スクリプトがあります。

#! /bin/sh
### 初期化情報の開始
#提供:ts3
#必須起動:$ network mysql
#必須停止:$ network
#基本スタート:2 3 4 5
#基本停止:0 1 6
#簡単な説明:TeamSpeak3サーバーデーモン
#説明:TeamSpeakサーバーデーモンの起動/停止/再起動
### 初期化情報の終了

セット

パス=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="TeamSpeak3 サーバー"
名前=teamspeak3 - サーバー
ユーザー=teamspeak3
ディレクトリ=/opt/teamspeak3 - サーバー
オプション=inifile=ts3server.ini
DAEMON=$DIR/ts3server_startscript.sh
#PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

#パッケージが削除された場合は正常に終了します。
テスト -x $DAEMON ||

睡眠2
sudo -u $USER $DAEMON $1 $OPTIONS

これが起こるには、次のものが必要です。

  1. ./MyScriptTS3ディレクトリにある即時終了スクリプトを実行します。
  2. しばらくお待ちください
  3. 引き続き実行される実際のデーモンを実行します。

私はUnixスクリプトに精通していません。サーバーを実行するためだけに必要です。また、最新のUbuntuを実行していると言うこともできます。

よろしくお願いします、krejcar25

答え1

DAEMON簡単です。スクリプトの最後の行でTS3コマンドを実行する前に、sleepコマンドを5秒に設定してください。たとえば、スクリプトは次のようになります。

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

var は$DERTS3 サービスディレクトリを表します。/opt/teamspeak3-server

関連情報