Skip to content

Instantly share code, notes, and snippets.

@sirtaj
Created January 21, 2015 16:01
Show Gist options
  • Save sirtaj/0de2dc2acec0bf99730b to your computer and use it in GitHub Desktop.
Save sirtaj/0de2dc2acec0bf99730b to your computer and use it in GitHub Desktop.
minecraft backup script
#!/bin/bash
# Backup script for minecraft server. Uses duplicity(1).
. /etc/minecraft/config
. /etc/minecraft/backup.cfg
BACKUP_URL="file://${BACKUP_TARGET}"
CONSOLE="${RUN}/console.in"
PID="${RUN}/server.pid"
DUPLICITY=/usr/bin/duplicity
DUP_VERBOSITY="warning"
DUP_OPTIONS="-v $DUP_VERBOSITY --no-print-statistics --no-encryption --full-if-older-than ${BACKUP_FREQ_FULL}"
SAVE_SLEEP=5
###
check_pid_file() {
ps -p `cat $1` > /dev/null 2>&1
echo $?
}
if [ -f "$PID" ]; then
if [ `check_pid_file $PID` -ne 0 ]; then
echo "save-all" > $CONSOLE
sleep "$SAVE_SLEEP"
fi
fi
if [ "A$1" == "Atrim" ]; then
TRIM="--force remove-all-but-n-full ${BACKUP_KEEP_FULL}"
duplicity $DUP_OPTIONS $TRIM "$BACKUP_URL"
else
duplicity $DUP_OPTIONS "$WORLDS" "$BACKUP_URL"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment