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