MySQL Veritabanı Yedekleme Scripti

Sunucunuzda kullanabileceğiniz oldukça kullanışlı bir script’dir. Mysql ve MariaDB(percona dahil) pek çok sistemin yedeğini kolaylıkla alabilirsiniz.

Yedeği alırken sistemde ön tanımlı olarak gelen veritabanlarını dahil etmez. Yedekler alınırken de tarih ve zamana göre tutulurlar isterseniz günlük isterseniz haftalık bir şekilde yedeklerinizi alabilirsiniz tabi bunu gerçekleştirmek için crontab özelliğini kullanmanız gerekiyor.

parolaniz yazan kısmı doldurmayı ihmal etmeyin. Sonrasında dosyamızı oluşturalım ve çalıştıralım.

#! /bin/bash

TIMESTAMP=$(date +"%F")
BACKUP_DIR="/backup/$TIMESTAMP"
MYSQL_USER="root"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="parolaniz"
MYSQLDUMP=/usr/bin/mysqldump

mkdir -p $BACKUP_DIR/mysql

databases=`mysql --no-defaults --user=$MYSQL_USER --password=$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema)"`

for db in $databases; do
        if [$db != "performance_schema"]&&[$db != "mysql"];then
                echo -e "Backing up: '$db' to $BACKUP_DIR/mysql/$db.sql n"
                ##uncomment to enable gzip
                #$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
                ##comment to enable gzip
                $MYSQLDUMP --no-defaults --force --opt --user=$MYSQL_USER --password=$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
        fi
done

Dosyayı oluşturmak için

cd /usr/local/bin
nano sqlbackup.sh
chmod +x sqlbackup.sh

Sonrasında oluşturulan dosyayı çalıştırmak için aşağıdaki komutu veriniz.

./sqlbackup.sh

Sistem Uzmanı, Linux Hacısı, El-Kernel

Yorum yapın