1#!/bin/bash
2set -u
3set -e
4SLEEPTIME=5
5SQLCONFFILE="./mysql.cnf" #set this to the path that contains the mysql.cnf file
6LOGAPPENDDATE=`date +%m%d%Y`
7EXPIRATION=`date +%m%d%Y -d "-3 days"`
8DBNAME="servatrice"
9APPNAME="servatrice"
10ROOTFOLDER="./backups"	#set this to the root path you want backups to be stored in
11BACKUPDIR="$ROOTFOLDER/$LOGAPPENDDATE/db/$APPNAME"
12TABLES=(
13	"cockatrice_users"
14	"cockatrice_decklist_files"
15	"cockatrice_replays"
16	"cockatrice_buddylist"
17	"cockatrice_ignorelist"
18	"cockatrice_bans"
19	"cockatrice_sessions"
20	"cockatrice_decklist_folders"
21	"cockatrice_replays_access"
22	"cockatrice_games"
23	"cockatrice_games_players"
24	"cockatrice_uptime"
25	"cockatrice_schema_version"
26	"cockatrice_servermessages"
27	"cockatrice_servers"
28	"cockatrice_rooms"
29    "cockatrice_rooms_gametypes"
30	)
31
32PROCESSNAME="mysqldump"
33if [ "$(pgrep $PROCESSNAME)" == "" ];
34then
35	[ ! -d $BACKUPDIR ] && mkdir -p $BACKUPDIR/
36	for TABLENAME in "${TABLES[@]}"
37	do
38		BACKUPFILE="$BACKUPDIR/$APPNAME.$TABLENAME.sql.$LOGAPPENDDATE"
39		echo "Backing up DB Table [$TABLENAME]"
40		ionice -c3 nice -n19 mysqldump --defaults-file=$SQLCONFFILE $DBNAME $TABLENAME > $BACKUPFILE
41		sleep $SLEEPTIME
42	done
43	rm -rf "$ROOTFOLDER/$EXPIRATION/"
44else
45        echo "Backup in progress, aborting"
46fi
47