#!/bin/sh # == Teamspeak autostarter script ===== # # Written by Ulf Larsson / SM0LCB # # ===================================== # # Add this script to crontab # "0-59/2 * * * * $HOME/checkTeamspeakServer.sh # # ===================================== # Some settings # The PID process name for the server when doing a ps command SERVER_PID_NAME="server_linux" # The log file for information from the script SERVER_LOGFILE="checkTeamspeakServer.log" # The directory there you have Teamspeak server installed SERVER_DIRECTORY="tss2_rc2" # The Teamspeak start script (installed with Teamspeak server) SERVER_START="teamspeak2-server_startscript start" # The PID process name for the client when doing a ps command CLIENT_PID_NAME="TeamSpeak.bin" # #Text strings TXT_SERVER_NOT_RUNNING="Teamspeak server PID found, server is running." TXT_SERVER_START="Teamspeak server not running - starting now..." TXT_SERVER_START_OK="Teamspeak server PID found, startup successful." TXT_SERVER_START_FAIL="Teamspeak still not started - please check server.log." TXT_CLIENT_KILLED="Teamspeak client running, killed." # # Set current time TIME=`date '+%Y%m%d %H%M%S : '` # # Quietly check for ts process running ps -ef | grep -v grep | grep -q $SERVER_PID_NAME if [[ $? -eq 0 ]] # Note double [[ ]] are important! then #Server is running echo $TIME $TXT_SERVER_NOT_RUNNING >> $SERVER_LOGFILE exit 0 # We can exit the script now else #Server is NOT running echo $TIME $TXT_SERVER_START >> $SERVER_LOGFILE # Record current DIR pwd=$PWD # Move to Teamspeak directory cd $HOME/$SERVER_DIRECTORY # remove pid file rm *.pid # Start server ./$SERVER_START # Change back to our previous dir cd $pwd fi # Check to see if TS has started up # ps -ef | grep -v grep | grep -q $SERVER_PID_NAME if [[ $? -eq 0 ]] then echo $TIME $TXT_SERVER_START_OK >> $SERVER_LOGFILE else echo $TIME $TXT_SERVER_START_FAIL >> $SERVER_LOGFILE fi # == End of Teamspeak script ==========