ich habe folgendes geplant:
- Ein Shellscript was im Falle eines IP-Wechsels 2 Prozesse killt und sie neu startet
Geschafft habe ich bisher folgendes:
Killen/Neustarten der Prozesse:
Code: Alles auswählen
kill -9 $(pidof ./tmu /internet /game_settings=MatchSettings/blpublic.txt /dedicated_cfg=bl_cfg.txt)
kill -9 $(pidof php aseco.php TMNPublic)
sleep 3s
cd /tmu/GameData/Cache
rm -rf *
cd /tmu
sh bigs.sh
sleep 3s
cd /tmu/AsecoPublic
sh Aseco.sh
Code: Alles auswählen
ip_cur=`host domain.net | awk '{ print $3}'`
- Mir ist bisher keine Lösung eingefallen wie bzw. wo ich die alte IP lagern soll bis die nächste IP-Änderung kommt.
- Die IP's würde ich einfach mit einer IF-Abfrage abgleichen und schauen ob sich etwas geändert hat.
Falls mir irgendjemand beim finden einer Lösung für mein kleines Problem helfen kann, bitte melden. Würde ich tierisch freuen
Habe eine Problemlösung gefunden (Nach ein wenig rumtüfteln wars gar nicht so schwer wie gedacht!)
Funktionierender Code:
Code: Alles auswählen
#!/bin/sh
ip_cur=`host meinserver.org | awk '{ print $3}'`
ip_old=`tail -1 ip.txt`
if [ $ip_old != $ip_cur ];
then
echo "Setze $ip_old auf $ip_cur"
echo $ip_cur > /home/shtest/ip.txt
echo "IP aktualisiert!"
echo "---------------------------"
echo "Kille TMU-Server (Public) ..."
kill -9 $(pidof ./tmu /internet /game_settings=MatchSettings/blpublic.txt /dedicated_cfg=bl_cfg.txt)
sleep 1s
echo "Done!"
echo "---------------------------"
echo "Kille TMU-Server (Test/War) ..."
kill -9 $(pidof ./tmu /internet /game_settings=MatchSettings/blnewtest.txt /dedicated_cfg=bltrain_cfg.txt)
sleep 1s
echo "Done!"
echo "---------------------------"
echo "Kille Aseco (Public) ..."
kill -9 $(pidof php aseco.php TMNPublic)
sleep 1s
echo "Done!"
echo "---------------------------"
echo "Kille Aseco (Test/War) ..."
kill -9 $(pidof php aseco.php TMNTest)
sleep 1s
echo "Done!"
echo "---------------------------"
echo "Deleting Cache for a faster Bootup ..."
cd /tmu/GameData/Cache
rm -rf *
sleep 2s
echo "Done!"
echo "---------------------------"
echo "Starting TMU-Server (Public) ..."
cd /tmu
sh bigs.sh
sleep 5s
echo "Done!"
echo "---------------------------"
echo "Starting TMU-Server (Test/War) ..."
cd /tmu
sh bigstrain.sh
sleep 5s
echo "Done!"
echo "---------------------------"
echo "Starting Aseco (Public) ..."
cd /tmu/AsecoPublic
sh Aseco.sh
sleep 1s
echo "Done!"
echo "---------------------------"
echo "Starting Aseco (Test/War) ..."
cd /tmu/AsecoTest
sh Aseco.sh
sleep 1s
echo "Done!"
echo "---------------------------"
echo "Restarted everything! You should see the Servers online now"
else
echo "Everything is alright at the Moment ..."
fi
Der DynDNS-Server wo ich meine aktuelle IP herkriege wird über eponym ebenfalls alle 30 Minuten geupdated falls nötig.
Vielleicht hilft es ja mal in ferner Zukunft irgendjemandem