Linux Shell Script mysqldump 自動備份 MySQL/MariaDB 資料庫

MySQL

Linux Shell Script mysqldump 自動備份所有、獨立資料庫。

Linux Shell Script mysqldump 自動備份所有、獨立資料庫

#!/bin/bash
# ====================================================================
# 每日備份 (參考 http://linux.vbird.org/linux_basic/0610hardware.php#VBird_strategy)

# 最終要存放的目錄路徑
#savedir=/mnt/file-server/
savedir=/run/media/root/backup/

# 這裡使用預設值即可不要修改
PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH
export LANG=C

#
# 備份所有資料庫
#
mysqldump --user=jacky --password=aaaa530358 --skip-add-locks --all-databases > $savedir/all-$(date +%Y%m%d).sql

#
# 備份單一資料庫
#

# 取出所有資料庫名稱
databases=$(mysql -u jacky -paaaa530358 -e 'show databases;' | cut -d '|' -f2 | sed '1 d')

for database in ${databases}
do
    # 不備份的資料庫名稱
    if [ "${database}" != "information_schema" ] && [ "${database}" != "mysql" ] && [ "${database}" != "performance_schema" ] && [ "${database}" != "phpmyadmin" ]; then
        mysqldump --user=jacky --password=aaaa530358 --skip-add-locks ${database} > $savedir/${database}-$(date +%Y%m%d).sql
    fi
done

發表留言