A simple bash script to backup MariaDB.
25'ten fazla konu seçemezsiniz
Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
|
- #!/bin/bash
-
- export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- BAK_DIR=/var/backups/mysql
- LOG_DIR=/var/log/mysql
-
- echo "Starting Backup" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
- echo "---------" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
-
- xtrabackup --backup --target-dir=$BAK_DIR >> \
- $LOG_DIR/mysql-bak-$(date +%F).log 2>&1 || \
- echo "Backup failed with exit value $?" >> \
- $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
-
- echo "Backup Finished" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
- echo "---------" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
- echo "" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
-
- echo "Starting Prepare #1" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
- echo "---------" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
-
- xtrabackup --prepare --target-dir=$BAK_DIR >> \
- $LOG_DIR/mysql-bak-$(date +%F).log 2>&1 || \
- echo "Prepare #1 failed with exit value $?" >> \
- $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
-
- echo "Prepare #1 Finished" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
- echo "---------" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
- echo "" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
-
- echo "Starting Prepare #2" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
- echo "---------" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
-
- xtrabackup --prepare --target-dir=$BAK_DIR >> \
- $LOG_DIR/mysql-bak-$(date +%F).log 2>&1 || \
- echo "Prepare #1 failed with exit value $?" >> \
- $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
-
- echo "Prepare #2 Finished" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
- echo "---------" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
- echo "" >> $LOG_DIR/mysql-bak-$(date +%F).log 2>&1
-
- # Delete logs older than 30 days
- find $LOG_DIR -name "mysql-bak-*" -mtime +30 -delete
|