init.d를 사용하여 두 개의 스크립트 실행

init.d를 사용하여 두 개의 스크립트 실행

/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

관련 정보