ich habe eben mein erstes erfolgreiches Script fertiggestellt auch wenn vll. immer wieder Optionen ergänzt werden. Für euch ist solch ein Script vll. in 5 Minuten gemacht daher seid nicht so streng
Code: Alles auswählen
#! /bin/bash
#Survival-Server Start|Stop|Backup|Status|Restart Script
#Variablen
server_id=survival
screen_session_running=`screen -ls | grep survival`
game_dir=/home/USER/mc_$server_id
backup_dir=/home/USER/mc_backup/mc_$server_id
case "$1" in
#Start-----------------------------------------------------------------------------------------------------------------------------------------------------
start)
if [ "$screen_session_running" != "" ]
then
clear
echo ***Hinweis***
echo
echo -e "\033[31mDer Server läuft bereits!\033[0m"
echo
echo ***Hinweis***
else
cd /home/USER/mc_$server_id
./start.sh
if [ "screen_session_running" == "" ]
then
echo ***Hinweis***
echo
echo -e "\033[31mDer Server konnte nicht gestartet werden bitte wenden Sie sich an den Systemadministrator!\033[0m"
echo
echo ***Hinweis***
else
clear
echo ***Hinweis***
echo
echo -e "\033[32mDer Server wurde erfolgreich gestartet. Mit \033[0m\033[4mscreen -r survival\033[0m\033[32m können Sie in die Serverkonsole wechseln!\033[0m"
echo
echo ***Hinweis***
fi
fi
;;
#Stop------------------------------------------------------------------------------------------------------------------------------------------------------
stop)
screen -r $server_id -X stuff $'say Der Server wird in 30 Sekunden heruntergefahren.\n'
sleep 25
screen -r $server_id -X stuff $'save-all\n'
sleep 5
screen -r $server_id -X stuff $'stop\n'
;;
#Restart---------------------------------------------------------------------------------------------------------------------------------------------------
restart)
screen -r $server_id -X stuff $'say Der Server wird in 30 Sekunden neugestartet.\n'
sleep 25
screen -r $server_id -X stuff $'save-all\n'
sleep 5
screen -r $server_id -X stuff $'stop\n'
sleep 10
$0 start
;;
#Backup----------------------------------------------------------------------------------------------------------------------------------------------------
backup)
if [ "$screen_session_running" != "" ]
then
clear
echo -e "\033[32mStarte Backup für $server_id""!\033[0m"
screen -r $server_id -X stuff $'say Es wird ein Backup erstellt dabei können Laggs auftreten!\n'
screen -r $server_id -X stuff $'save-all\n'
screen -r $server_id -X stuff $'save-off\n'
screen -r $server_id -X stuff $'say Backup gestartet!\n'
rm -R $backup_dir
mkdir $backup_dir
cd $backup_dir
tar -cf $server_id.tar $game_dir
screen -r $server_id -X stuff $'save-on\n'
screen -r $server_id -X stuff $'save-all\n'
screen -r $server_id -X stuff $'say Backup wurde erfolgreich erstellt!\n'
echo -e "\033[32mBackup wurde erfolgreich erstellt!\033[0m"
else
clear
echo -e "\033[32mStarte Backup für $server_id""!\033[0m"
sleep 5
rm -R $backup_dir
mkdir $backup_dir
cd $backup_dir
tar -cf $server_id.tar $game_dir
echo -e "\033[32mBackup wurde erfolgreich erstellt!\033[0m"
fi
;;
#Status----------------------------------------------------------------------------------------------------------------------------------------------------
status)
if [ "screen_session_running" == "" ]
then
clear
echo ***Hinweis***
echo
echo -e "\033[31mDer Server läuft nicht!\033[0m"
echo
echo ***Hinweis***
else
clear
echo ***Hinweis***
echo
echo -e "\033[32mDer Server läuft!\033[0m"
echo
echo ***Hinweis***
fi
;;
#Ausgabe bei falscher Eingabe------------------------------------------------------------------------------------------------------------------------------
*)
echo "Usage: $0 {start|stop|restart|backup|status}"
;;
esac
Was sagt ihr dazu wo könnt ihr mir Tipps geben bzw. auf was sollte ich besser achten.
Mit freundlichen Grüßen
Mululu