linuxiarz.pl

Auto-backup baz danych MySQL

mysql-backup

Prezentuje wam skrypt wykonujący automatyczne kopie zapasowe waszych wszystkich baz danych do konkretnego katalogu. Bazy danych pakują się do pliku .gz w katalogu o odpowiedniej nazwie, domyślnie nazwa katalogu = data

#! /bin/bash

TIMESTAMP=$(date +"%F")
BACKUP_DIR="/home/sqlbackup/$TIMESTAMP"
MYSQL_USER="xroot"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="password"
MYSQLDUMP=/usr/bin/mysqldump

mkdir -p "$BACKUP_DIR"

databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`

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

Po zapisaniu skryptu do pliku dodajemy go tylko do harmonogramu (CRONA), u mnie wykonuje się raz na dobę o 22:

22 0 * * * sh /scripts/bakup.sh > /dev/null 2>&1

 

 

Exit mobile version