Add minecraft backup script
parent
98beb00ec2
commit
89f7000a6d
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# This runs in a cronjob every hour
|
||||||
|
# e.g. 0 */1 * * * /home/nathan/scripts/backup/backup_mc.sh -s mc -d /srv/mc -b /home/nathan/backups/mcRdiff/mc -r nathan@alphavps.aney.co.uk -R ~/backups/minecraft/mc
|
||||||
|
|
||||||
|
while getopts s:d:b:r:R:n: flag
|
||||||
|
do
|
||||||
|
case "${flag}" in
|
||||||
|
s) SERVERNAME=${OPTARG};;
|
||||||
|
d) DIR=${OPTARG};;
|
||||||
|
b) BACKUPDIR=${OPTARG};;
|
||||||
|
r) REMOTE=${OPTARG};;
|
||||||
|
R) REMOTEBACKUP=${OPTARG};;
|
||||||
|
n) NOW=${OPTARG};;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
TIME=$(date +%H%M)
|
||||||
|
|
||||||
|
# Make backup location if it's not there
|
||||||
|
mkdir -p $BACKUPDIR
|
||||||
|
|
||||||
|
# Rdiff to reduce the storage needs of rsync
|
||||||
|
rdiff-backup \
|
||||||
|
--exclude $DIR/scripts/ \
|
||||||
|
$DIR $BACKUPDIR
|
||||||
|
|
||||||
|
# If time is 00:00/midnight
|
||||||
|
if [ "$TIME" = 0000 ] || [ "$NOW" = 1 ]
|
||||||
|
then
|
||||||
|
# Create the remote directory for backup if it doesn't exist
|
||||||
|
ssh $REMOTE mkdir -p $REMOTEBACKUP
|
||||||
|
# Copy the backup accross
|
||||||
|
# -e ssh makes it secure
|
||||||
|
rsync -azh -e ssh \
|
||||||
|
$BACKUPDIR/ \
|
||||||
|
$REMOTE:$REMOTEBACKUP
|
||||||
|
fi
|
||||||
|
|
||||||
Loading…
Reference in New Issue