前言:
基本上不管是對於我們自己使用,還是給客戶部署服務器,,mysql備份都是必不可少的一部分,這裡給大家分享一下我是如何實現linux上做異地自動備份的。
mysql_backup.sh 用於備份數據
mysql_restore.sh 用於恢復數據
remove_backup.sh 用於刪除一段時間以前的備份文件
一、數據備份準備
1.1創建備份目錄
注:這裡我是吧備份文件放在/data/backup/mysql下面,把腳本放在 /data/backup 下面
些創建一個文件夾(如果創建過請忽略)
mkdir -p /data/backup/mysql cd /data/backup
1.2創建腳本文件
創建mysql_backup.sh腳本
vi mysql_backup.sh
粘貼下面的腳本內容
#!/bin/bash # 需要的話,自己改這裡哦 #db_user='root' #db_password=`cat /data/www/mysql_password` db_name='wuqilong' backup_dir='/data/backup/mysql/' current_time=$(date +'%Y-%m-%d_%H%M%S') filepath=$backup_dir$current_time'.sql.gz' #此處沒有使用 $db_password $db_user, 已經寫入到配置文件中 echo '開始導出數據庫...' mysqldump --defaults-extra-file=/data/backup/my_mysql.cnf $db_name | gzip > $filepath echo '導出成功,文件名為: '$filepath
新建配置文件, 就在我們的當前目錄下 即 /data/backup
vi my_mysql.cnf
下面的是文件內容,這裡可以設置一下允許導出的文件大小上限
這裡的host填寫你需要從那臺服務器下進行備份
[mysqldump] max_allowed_packet = 400M host=ip地址(192.168.1.**) user=root password='root' [mysql] host=ip地址(192.168.1.**) user=root password='root'
這樣導出shell腳本就已經寫好了哈,接下來給它加一下權限。
chmod +x ./mysql_backup.sh
現在可以使用下面的命令來導出了
sh ./mysql_backup.sh # 查看一下結果 ll ./mysql
[niceskyabc ] Linux下mysql異地自動備份的方法已經有247次圍觀