MySQL Backup

MySQL Backup

I backup vengono sempre sottovalutati ma è importante eseguirli e su MySQL è ancora più importante eseguire i backup dei vari database in maniera separata ed autonoma per non avere brutti scherzi.
Abbiamo un semplice script per permette di eseguire il backup:

#!/bin/bash

TIMESTAMP=$(date +”%F”)
ROOT_DIR=”/root/backup/”
BACKUP_DIR=”/root/backup/$TIMESTAMP”
MYSQL_USER=”root”
MYSQL_PASSWORD=”toor”
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/bin/mysqldump
VERSION=11

mkdir -p $BACKUP_DIR

databases=`$MYSQL -u$MYSQL_USER -p$MYSQL_PASSWORD -e “SHOW DATABASES;” | grep -Ev “(Database|information_schema)”`

for db in $databases; do
echo $db
$MYSQLDUMP –force –opt –user=$MYSQL_USER -p$MYSQL_PASSWORD –databases $db | gzip > “$BACKUP_DIR/$db.gz”
done

# Cancello le cartelle più vecchie di VERSION
cd $ROOT_DIR
ls -tQ | tail -n+$VERSION | xargs rm -fr

Verrà creata una cartella per ogni giorno e dentro sarà presente un file .gz con ogni database, inoltre possiamo gestire il numero delle versioni da tenere e quelle più vecchie verranno automaticamente eliminate.

Start typing and press Enter to search