1. 備份MySQL資料庫
假如一臺MySQL伺服器,跑著5個資料庫,在沒有做主從的情況下,需要對這5個庫進行備份,具體要求如下:
1) 每天備份一次,需要備份所有的庫;
2) 把備份資料存放到 /data/backup/ 下;
3) 備份檔名稱格式示例:database_name-2018-11-11.sql;
4) 需要對1天前的所有sql檔案壓縮,格式為gzip;
5) 本地資料保留1周;
6) 需要把備份的資料同步到遠端備份中心,假如本機可以直接通過rsync命令同步,同步目標地址為rsync://10.10.10.10/mysqlbak/ ;
7) 遠端備份資料需要保留1個月。
參考指令碼如下:
#!/bin/bash
##備份本地資料庫
##本地保留1周,遠端保留一個月
mysqldump="/usr/local/mysql/bin/mysqldump"
bakuser="backup"
passwd="34KpmyzUq"
bakdir="/data/backup"
remote_dir="rsync://10.10.10.10/mysqlbak"
d1=`date +%F`
d2=`date +%d`
#定義日誌
exec &> /tmp/mysql_bak.log
echo "mysql backup begin at `date`"
#對所有資料庫進行遍歷
for db in db1 db2 db3 db4 db5
do
$mysqldump -u$bakuser -p$passwd $db >$bakdir/$db-$d1.sql
done
#對1天前的所有sql檔案壓縮
find $bakdir/ -type f -name "*.sql" -mtime +1 |xargs gzip
#查詢並刪除一週以前的老檔案
find $bakdir/ -type f -mtime +7 |xargs rm
#把當天的備份檔案同步到遠端
for db in db1 db2 db3 db4 db5
do
rsync -a $bakdir/$db-$d1.sql $remote_dir/$db-$d2.sql
done
echo "mysql backup end at `date`"
指令碼中,
-
shell指令碼中,可使用反引號來引用一條命令的結果,然後將其儲存到變數中
-
&> 指定正確輸出和錯誤輸出到 /tmp/mysql_bak.log
-
exec 命令,會接管該shell指令碼中後續所有的命令,可以把exec理解為“一個盒子”,將exec那行以下所有的命令都拉到“這個盒子”裡面執行。exec &> 1.txt 可以理解為 “這個盒子”所有操作的輸出都寫入到 1.txt 中
相關文章
- mysql 資料庫 備份MySql資料庫
- innobackupex 備份MySQL資料庫MySql資料庫
- mysql資料庫備份命令大全MySql資料庫
- 備份mysql資料庫報告MySql資料庫
- MySQL資料庫的基本備份MySql資料庫
- Mysql資料庫自動備份MySql資料庫
- 定時備份MySQL資料庫MySql資料庫
- (7) MySQL資料庫備份詳解MySql資料庫
- golang實現mysql資料庫備份GolangMySql資料庫
- Mysql資料庫備份及恢復MySql資料庫
- MySQL資料庫常用的備份方法MySql資料庫
- 「MySQL」資料庫備份和還原MySql資料庫
- 1.資料庫起步--------Mysql資料庫MySql
- MySQL資料備份MySql
- MySQL資料庫備份的shell指令碼MySql資料庫指令碼
- MySql資料庫備份的幾種方式MySql資料庫
- 使用MySQL Workbench進行資料庫備份MySql資料庫
- Mysql備份和還原資料庫-mysqldumpMySql資料庫
- 資料庫備份資料庫
- linux實現mysql資料庫每天自動備份定時備份LinuxMySql資料庫
- 初探MySQL資料備份及備份原理MySql
- 實現MySQL資料庫的實時備份MySql資料庫
- 使用Mysqldump備份和恢復MySQL資料庫MySql資料庫
- MySQL-19.資料庫備份與恢復MySql資料庫
- mysql資料庫-備份與還原實操MySql資料庫
- java mysql 資料庫備份和還原操作JavaMySql資料庫
- Liunx備份mysql資料庫的shell指令碼MySql資料庫指令碼
- Mysql資料安全備份MySql
- 資料庫備份策略資料庫
- MongoDB資料庫備份MongoDB資料庫
- Centos-Mysql複製備份還原資料庫CentOSMySql資料庫
- crontab 備份docker mysql映象的資料庫不生效DockerMySql資料庫
- 【乾貨】MySQL 資料庫定時備份總結MySql資料庫
- MySQL 資料庫定時備份的幾種方式MySql資料庫
- Linux下MySQL資料庫的備份與恢復LinuxMySql資料庫
- oracle資料庫備份之exp增量備份Oracle資料庫
- oracle 備份資料庫,匯出資料庫Oracle資料庫
- 使用RMAN備份資料庫資料庫