Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
skripting-section:bash:minecraft-server-upgrade [2017/09/23 12:13] – michael | skripting-section:bash:minecraft-server-upgrade [2019/07/25 13:30] (current) – stefgu | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Minecraft Server Upgrade Skript ====== | ====== Minecraft Server Upgrade Skript ====== | ||
+ | Skript, welches vom mir erstellt wurde, um automatisiert (via cronjob) einen selbst erstellten Minecraft-Server auf aktuellem Stand zu halten; resp. zu Updaten. | ||
- | <sxh bash> | + | ===== Skript Sourcecode ===== |
+ | |||
+ | '' | ||
+ | |||
+ | <sxh bash; first-line: 1> | ||
#!/bin/bash | #!/bin/bash | ||
+ | # | ||
+ | # Subject | ||
+ | # Description : | ||
+ | # Author | ||
+ | # Created | ||
+ | # | ||
+ | |||
newest_server_version=$(curl https:// | newest_server_version=$(curl https:// | ||
in_use_server_version=$(cat / | in_use_server_version=$(cat / | ||
Line 32: | Line 44: | ||
/ | / | ||
fi | fi | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Steffs Version ===== | ||
+ | |||
+ | <sxh bash; first-line: 1> | ||
+ | #!/bin/bash | ||
+ | |||
+ | # | ||
+ | # | ||
+ | # Subject: minecraft_server_update.sh | ||
+ | # Description | ||
+ | # Author: Stefan Gutknecht < | ||
+ | # Created: 2019.07.25 | ||
+ | # Version: v0.1 | ||
+ | # Use: You can start this script manually or you can automate it with cron/ | ||
+ | # | ||
+ | # Changelog: | ||
+ | # --------- | ||
+ | # | ||
+ | # v0.1- Creation of this Script | ||
+ | # | ||
+ | |||
+ | # Define BASH-Color Output | ||
+ | |||
+ | NORMAL=' | ||
+ | GREEN=' | ||
+ | RED=' | ||
+ | CYAN=' | ||
+ | |||
+ | # Actual Date Variable - Formatted | ||
+ | datum=$(date +" | ||
+ | |||
+ | # Get the PID of the minecraft process | ||
+ | screen_process=$(ps -aux | grep minecraftd | grep -v " | ||
+ | |||
+ | # Define Server Variables for comparing | ||
+ | |||
+ | actual_server_version=$(cat / | ||
+ | server_version_mojang=$(curl -s https:// | ||
+ | |||
+ | if [ $actual_server_version = $server_version_mojang ]; then | ||
+ | echo -e " | ||
+ | fi | ||
+ | |||
+ | if [ $actual_server_version != $server_version_mojang ]; then | ||
+ | echo -e "$RED Update available $NORMAL - $CYAN Will make the necessary Steps ... $NORMAL" | ||
+ | |||
+ | # Kill the minecraft process | ||
+ | kill -9 $screen_process 2>/ | ||
+ | fail_code=$(echo " | ||
+ | if [ $? == 0 ]; then | ||
+ | echo -e " | ||
+ | else | ||
+ | echo -e "$RED Something went wrong - couldn' | ||
+ | echo " | ||
+ | exit 0 | ||
+ | fi | ||
+ | # Backup the minecraft_server.jar File | ||
+ | echo " | ||
+ | echo -ne ' | ||
+ | cp --preserve=mode, | ||
+ | sleep 0.5 | ||
+ | echo -ne ' | ||
+ | sleep 0.5 | ||
+ | echo -ne ' | ||
+ | echo -ne ' | ||
+ | |||
+ | # Backup the minecraft world directory | ||
+ | echo " | ||
+ | echo -ne ' | ||
+ | tar -czf / | ||
+ | sleep 0.5 | ||
+ | echo -ne ' | ||
+ | sleep 0.5 | ||
+ | echo -ne ' | ||
+ | echo -ne ' | ||
+ | |||
+ | # Download the new minecraft_server and set permissions | ||
+ | download_link=$(curl -s https:// | ||
+ | echo -e " | ||
+ | wget -O / | ||
+ | rm -f / | ||
+ | mv / | ||
+ | echo -e "$CYAN Adapting the permissions$NORMAL" | ||
+ | chown mcuser: | ||
+ | chmod +x / | ||
+ | rm -f / | ||
+ | |||
+ | # Start the new minecraft server | ||
+ | echo -e "$RED Starting the Minecraft Server$NORMAL" | ||
+ | echo -ne ' | ||
+ | sudo -u mcuser / | ||
+ | sleep 0.5 | ||
+ | echo -ne ' | ||
+ | sleep 0.5 | ||
+ | echo -ne ' | ||
+ | echo -ne ' | ||
+ | |||
+ | # Removing old unnecessary Backups - older than 180 days | ||
+ | echo -e "$CYAN Going to remove old Backups$NORMAL" | ||
+ | find / | ||
+ | fi | ||
+ | exit 0 | ||
</ | </ |