Mysql自動備份腳本(本地備份、遠程備份、刪除冗余備份)
1. 腳本功能
自動備份mysql數據到服務器上,可以通過linux的 crontab定義備份周期。
自動刪除七天前的備份數據。
2. 腳本內容
#!/bin/bash
# auth Eric
source /etc/profile
# 設置備份目錄和文件名
backup_directory="/usr/local/data"
backup_filename="test_$(date +%Y%m%d).sql"# 設置MySQL連接參數
mysql_host="數據庫IP"
mysql_user="數據庫用戶名"
mysql_password="數據庫密碼"
mysql_database="數據庫名稱"# 創建備份目錄(如果不存在)
mkdir -p "$backup_directory"# 執行備份命令
mysqldump -h "$mysql_host" -u "$mysql_user" -p"$mysql_password" "$mysql_database" > "$backup_directory/$backup_filename"#刪除7天前數據
find $backup_directory -name "test_*.sql" -mtime +7 -exec rm {} \;# 檢查備份是否成功
if [ $? -eq 0 ]; thenecho "MySQL數據庫備份成功:$backup_directory/$backup_filename"
elseecho "MySQL數據庫備份失敗"
fi
3. 如何使用
新建backupmysql.sh填入腳本內容。
1.在mysql的宿主機執行備份
可以直接執行腳本backupmysql.sh,然后就可以查看備份后的腳本文件了
2.在遠程機器上備份
需要在遠程機器上安裝mysql訪問客戶端
apt-get install mysql-client
或者
yum install mysql-client
然后再執行腳本
4. 定義備份周期
通過linux自帶的corntab來實現腳本的定時備份
這里我們定義每天0點備份一次數據庫
crontab e
添加一行命令
0 0 * * * sh /home/Shell/backupmysql.sh
更多crontab表達式