Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- mcuser=username
- scrname=minecraft
- mcb=/mcbackups/sdom/backups_hourly
- src=/home/username/server/
- screen=/usr/bin/screen
- #exclude='backups/*'
- #exclude='database.db'
- exclude='logs/'
- iterations=24
- mcprocess=$(ps -eaf | grep java | grep sdomserver | awk '{print $1}')
- if [ "$mcprocess" == "$mcuser" ]; then
- $screen -d -r $scrname -p 0 -X stuff "$(printf '\r')"
- # $screen -d -r $scrname -p 0 -X stuff "say Initiating Hourly backup! $(printf '\r')"
- $screen -d -r $scrname -p 0 -X stuff "save-off $(printf '\r')"
- $screen -d -r $scrname -p 0 -X stuff "save-all $(printf '\r')"
- sleep 1
- fi
- cd $mcb
- oldest=`printf "%03g" ${iterations}`
- if [ -e minecraft.${oldest} ]; then rm -rf minecraft.${oldest}; echo Removing ${oldest}; fi
- start=`expr ${iterations} - 1`
- for i in `seq -f "%03g" ${start} -1 0`; do
- oneup=`expr ${i} + 1`
- oneup=`printf "%03g" ${oneup}`
- if [ -e minecraft.${i} ]; then mv minecraft.${i} minecraft.${oneup}; echo Moving ${i} to ${oneup}; fi
- done
- if [ -e minecraft.001 ]; then
- rsync -a --exclude=$exclude --delete --link-dest=$mcb/minecraft.001 $src $mcb/minecraft.000/
- else
- rsync -a --exclude=$exclude --delete $src $mcb/minecraft.000/
- fi
- if [ "$mcprocess" == "$mcuser" ]; then
- $screen -d -r $scrname -p 0 -X stuff "save-on $(printf '\r')"
- # $screen -d -r $scrname -p 0 -X stuff "say Hourly backup complete! $(printf '\r')"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement