TS Server "Autostart" ?

  • Thread starter Thread starter Deleted member 3115
  • Start date Start date
D

Deleted member 3115

Guest
Hallo zusammen

ich hab mal ne frage und zwar hab ich mir den Thread
durchgelesen und meiner Meinung nach alles so gemacht wie es da steht hier mal mein Befehl

Code:
- crontab -u rm /home/user/tss2_rc2/tsserver2.pid && /home/user/tss2_rc2/server_linux -e

und als Antwort hab ich das hier bekommen

Code:
-bash: popd: directory stack empty

nach nem Server Neustart war die tsserver2.pid zwar gelöscht aber der Server nicht gestartet
Hab ihr eine ich was ich falsch gemacht habe?

Danke schone mal

mfg take2
 
  1. Logge Dich via putty als der TS-Benutzer ein, den Du vorher angelegt hast
  2. Führe den Befehl "crontab -e" aus. Dabei wird eine neue cron-Datei angelegt. Da hierfür der Editor vi verwendet wird, musst Du folgendes tippen:
    Code:
    i
    @reboot rm /home/user/tss2_rc2/tsserver2.pid && /home/user/tss2_rc2/server_linux
    ESC:wq
    Mit ESC ist die ESC-Taste gemeint.
 
Ich habe das gleiche getan, jedoch wurde die TeamSpeak-Instanz nicht gestartet!

Ich habe dafür meinen Root-Server neugestart. Zählt der Neustart auch zum "Reboot"?
 
Danke für die Antwort ich hab gerade leide nicht die Möglichkeit es zu testen.

Ich melde mich dann später ob es geklappt hat oder nicht.
 
  1. Logge Dich via putty als der TS-Benutzer ein, den Du vorher angelegt hast
  2. Führe den Befehl "crontab -e" aus. Dabei wird eine neue cron-Datei angelegt. Da hierfür der Editor vi verwendet wird, musst Du folgendes tippen:
    Code:
    i
    @reboot rm /home/user/tss2_rc2/tsserver2.pid && /home/user/tss2_rc2/server_linux
    ESC:wq
    Mit ESC ist die ESC-Taste gemeint.

Hallo

ich hab die oben stehen denn sachen getestet

ich hab alles so ein getragen wie du es oben geschrieben hast leider ohne Erfolg jetzt löscht er noch nicht ein mal die tsserver.pid mehr

Wo liegt denn der Fehler?

mfg marcel

edit:
ich nehme alles zurück ich hatte ein Tippfehler drin hab tsserver.pid anstatt tsserver2.pid geschrieben


geht alles danke für die hilfe

mfg marcel
 
Last edited by a moderator:
Ein wunderbares TS Startscript, das man nach /etc/init.d packen kann ist folgendes:

Code:
#!/bin/bash

# TeamSpeak 2 init script
# June 2005

# This file based on the original TeamSpeak 2 server startscript by Peter 'pwk.linuxfan' Kirk.

### START INIT INFO
# Provides: TeamSpeak2
# Short-Description: TeamSpeak 2 Server
# Description: Start and stop your TeamSpeak 2 server...
### END OF INIT INFO

### START CONFIG SECTION
USER=teamspeak
DIR=/home/teamspeak/tss2_rc2
### END OF CONFIG SECTION

case "$1" in
        start)
                if [ -e $DIR/ts2.pid ]; then
                        echo "ts2.pid already exists...";
                        echo "Is your TeamSpeak 2 server already running?"
                        exit 1
                else
                        if [ "$UID" = "0" ]; then
                                for c in $(seq 1 10); do
                                        echo -n "!"
                                        sleep 1
                                done
                                echo !
                        fi
                        echo "Starting the TeamSpeak 2 server..."
                        if [ -e $DIR/server_linux ]; then
                                if [ ! -x $DIR/server_linux ]; then
                                        echo "The server_linux binary is not executable. Trying to set it..."
                                        chmod u+x $DIR/server_linux
                                fi
                                if [ -x $DIR/server_linux ]; then
                                        WD=`pwd`
                                        cd $DIR
                                        su $USER -c "$DIR/server_linux -PID=ts2.pid" &
                                        cd $WD
                                else
                                        echo "The server_linux binary is not executable..."
                                        exit 4
                                fi
                        else
                                echo "Could not find the server_linux binary."
                                exit 5
                        fi
                fi
        ;;
    stop)
                if [ -e $DIR/ts2.pid ]; then
                        echo -n "Stopping the TeamSpeak 2 server..."
                        if ( kill -TERM `cat $DIR/ts2.pid` ); then
                                for c in $(seq 1 300); do
                                        if [ -e $DIR/ts2.pid ]; then
                                                echo -n "."
                                                sleep 1
                                        fi
                                done
                        fi
                        if [ -e $DIR/ts2.pid ]; then
                                echo "The server does not shutdown cleanly..."
                                kill -KILL `cat $DIR/ts2.pid`
                                rm $DIR/ts2.pid
                                sleep 5
                        else
                                echo "done"
                        fi
                else
                        echo "The ts2.pid file does not exist...";
                        echo "Is your TeamSpeak 2 server already stopped?"
                        #exit 7
                fi
        ;;
        restart)
                $0 stop && $0 start || exit 1
        ;;
        status)
                if [ -e $DIR/ts2.pid ]; then
                        echo "The TeamSpeak 2 server seems to be running."
                        exit 0
                else
                        echo "The TeamSpeak 2 server seems to be stopped."
                        exit 3
                fi
        ;;
        passwords)
                if [ -e $DIR/server.log ]; then
                        date=$(cat $DIR/server.log | grep "admin account info: username: admin" | tail -n 1 | sed "s/^\([0-9]\+-[0-9]\+-[0-9]\+ [0-9]\+:[0-9]\+:[0-9]\+\).*$/\1/")
                        spass=$(cat $DIR/server.log | grep "superadmin account info: username: superadmin" | tail -n 1 | sed "s/^.*username: superadmin password: \([a-z0-9]\+\).*$/\1/")
                        pass=$(cat $DIR/server.log | grep "admin account info: username: admin" | tail -n 1 | sed "s/^.*username: admin password: \([a-z0-9]\+\).*$/\1/")
                        echo "The following passwords were generated on $date:"
                        echo "superadmin = \"$spass\""
                        echo "admin      = \"$pass\""
                else
                        echo "The server.log file was not found..." 
                        exit 1
                fi
        ;;
        *)
                echo "Usage: $0 {start|stop|restart|status|passwords}"
                exit 2
esac
exit 0

Man kann dann mit "/etc/init.d/tsserver start" bzw. "stop" den Server starten, stoppen und das ganze auch beim Systemstart einrichten. Praktisch! :D
 
Back
Top