Skip to content

Commit

Permalink
- minecraft.sh can now accept 2nd argument for alternative exclude file
Browse files Browse the repository at this point in the history
- added special exclude file for direwolf20 FTB to block backups of other dimensions than 0
- added crontesting script
- added exclude entries for ARK server engine files, Steam libraries, resource worlds
  • Loading branch information
RoyCurtis committed Jul 6, 2015
1 parent 71cdf2b commit c4f0b50
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 9 deletions.
8 changes: 5 additions & 3 deletions crontab.example
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,11 @@ ROYBACKUP="/usr/local/roybackup"
40 4 */3 * * ${ROYBACKUP}/home.sh www-data

# Minecraft backups
0 5 * * * ${ROYBACKUP}/minecraft.sh Survival
10 5 * * * ${ROYBACKUP}/minecraft.sh Creative
20 5 * * * ${ROYBACKUP}/minecraft.sh Direwolf20
0 5 * * * ${ROYBACKUP}/minecraft.sh Survival
# Full FTB backup every 4 days
20 5 */4 * * ${ROYBACKUP}/minecraft.sh Direwolf20
# Backup only config files and dimension 0 every 6 hours
0 */6 * * * ${ROYBACKUP}/minecraft.sh Direwolf20 /home/minecraft/direwolf.exclude

# rsync backups to off-site server
0 7 * * * rsync -aPvu /home/backups/ [email protected]:~/myserverbackups/
Expand Down
19 changes: 19 additions & 0 deletions crontest.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/sh
ROYBACKUP="/usr/local/roybackup"
# MySQL backups
${ROYBACKUP}/mysql.sh forums
${ROYBACKUP}/mysql.sh minecraft
${ROYBACKUP}/mysql.sh prism
# System
${ROYBACKUP}/sys.sh
# Minecraft
#${ROYBACKUP}/minecraft.sh Survival
#${ROYBACKUP}/minecraft.sh Direwolf20
# Home
${ROYBACKUP}/home.sh asimov
${ROYBACKUP}/home.sh gameserver
${ROYBACKUP}/home.sh posteranonymous
${ROYBACKUP}/home.sh tehrage
${ROYBACKUP}/home.sh vanderprot
${ROYBACKUP}/home.sh www-data

37 changes: 37 additions & 0 deletions direwolf.exclude
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
*/world/DIM*/*

*.log
*.log.*
*.tar.gz

*.bsp
*.vpk
world-*.zip

.m2/
.m2/*
*/.m2/*
*/*-backup/*
*/*-backups/*
*/backup/*
*/Backup/*
*/backups/*
*/Backups/*
*/cache/*
*/caches/*
*/crash/*
*/directx_installer/*
*/dynmap/web/tiles/*
*/libraries/*
*/log/*
*/Log/*
*/logs/*
*/Logs/*
*/multicraft/*
*/node_modules/*
*/temp/*
*/tmp/*

Survival/resource/*
Survival/resource_nether/*
Survival/resource_the_end/*
11 changes: 10 additions & 1 deletion home.exclude
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@

*.bsp
*.vpk
steamclient.so

*/appcache/*
*/*-backup/*
*/*-backups/*
*/backup/*
Expand All @@ -19,4 +21,11 @@
*/Logs/*
*/node_modules/*
*/temp/*
*/tmp/*
*/tmp/*
*/twit-mirror/*

*/arkdedicated/Engine/*
*/arkdedicated/linux64/*
*/arkdedicated/ShooterGame/Content/*
*/arkdedicated/ShooterGame/Binaries/*
Steam/*
6 changes: 5 additions & 1 deletion minecraft.exclude
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,8 @@ world-*.zip
*/multicraft/*
*/node_modules/*
*/temp/*
*/tmp/*
*/tmp/*

Survival/resource/*
Survival/resource_nether/*
Survival/resource_the_end/*
5 changes: 3 additions & 2 deletions minecraft.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@

# Where backups are to be kept
BACKUPDIR=/home/backups/minecraft
EXCLUDE=minecraft.exclude
EXCLUDE=${2:-minecraft.exclude}

# CONSTANTS:
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
cd $DIR

# SCRIPT:
echo -e "[MINECRAFT] Using exclude file $EXCLUDE"
echo -e "[MINECRAFT] Calculating backup size..."

SIZE=`du -sm --exclude-from=$EXCLUDE /home/minecraft/$1 2> /dev/null | cut -f 1`
Expand All @@ -22,4 +23,4 @@ BACKUPPATH=${BACKUPDIR}/$1-${TIMESTAMP}.tar.bz
echo -e "[MINECRAFT] Performing ${SIZE}MB /home/minecraft/$1 backup to ${BACKUPPATH}..."
tar --exclude-from=$EXCLUDE \
-cf - /home/minecraft/$1 | pv -p -e -r -b -s ${SIZE}m | bzip2 > $BACKUPPATH
echo -e "[MINECRAFT] Finished backup to ${BACKUPPATH}"
echo -e "[MINECRAFT] Finished backup to ${BACKUPPATH}"
4 changes: 2 additions & 2 deletions sys.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# CONFIGURATION:

# Where backups are to be kept
BACKUPDIR=/home/backups
BACKUPDIR=/home/backups/sys
EXCLUDE=sys.exclude

# CONSTANTS:
Expand All @@ -27,4 +27,4 @@ BACKUPPATH=${BACKUPDIR}/sys-${TIMESTAMP}.tar.bz
echo -e "[SYS] Performing ${SIZE}MB / (system) backup to ${BACKUPPATH}..."
tar --exclude-from=$EXCLUDE \
-cf - / | pv -p -e -r -b -s ${SIZE}m | bzip2 > $BACKUPPATH
echo -e "[SYS] Finished backup to ${BACKUPPATH}"
echo -e "[SYS] Finished backup to ${BACKUPPATH}"

0 comments on commit c4f0b50

Please sign in to comment.