Skip to content

Instantly share code, notes, and snippets.

@jackhickey
Last active January 24, 2018 22:20
Show Gist options
  • Save jackhickey/5eea07aac5f64f7f4652b540972cc7fa to your computer and use it in GitHub Desktop.
Save jackhickey/5eea07aac5f64f7f4652b540972cc7fa to your computer and use it in GitHub Desktop.
#!/bin/bash
set -e
# make rcon variable for make cleany codey
rcon='docker exec -it mc rcon-cli'
# Let people know it's shutting down
$rcon say Server shutting down for backup. Be back in 1 minute or so. \;\)
# # Get the array of play names
playersString=$($rcon list | cut -b30-)
IFS=', ' read -r -a playersArray <<< "$playersString"
# Kick the players
for i in "${playersArray[@]}"
do
:
$rcon kick $i
done
# Stop the server
docker stop mc
# Copy world files to backups directory
backupName=mrtvbox-world-$(date '+%d-%m-%Y__%H_%M_%S')
mkdir /mnt/disk1/backups/minecraft/$backupName
cp -r /mnt/disk1/minecraft/world/* /mnt/disk1/backups/minecraft/$backupName/
# Start server back up (we've already copied it so we can zip it now)
docker start mc
tar -zcvf /mnt/disk1/backups/minecraft/$backupName.tar.gz /mnt/disk1/backups/minecraft/$backupName
# Remove uncompressed files
rm -rf /mnt/disk1/backups/minecraft/$backupName
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment