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