linuxタイミングバックアップdockerインストールmysqlデータベース

1729 ワード

mysqlバージョン:8.0.16
ubuntuバージョン:Ubuntu 18.04.1 LTS
1.mysqlバックアップコマンド
mysqldumpバックアップコマンドが表示された場合(Warning:Using a password on the command line interface can be insecure.)警告メッセージはmy.cnfには以下の内容が追加されています.
[mysqldump]
user=your_backup_user_name
password=your_backup_password

そしてmysqldumpコマンドをそのまま使うとユーザーやパスワードが不要になります
mysqldump dataBaseName | gzip > /backup/mysql/dataBaseName _$(date +%Y%m%d_%H%M%S).sql.gz

ユーザーパスワードのフォーマットが使用できる場合は、このフォーマットを使用します.
mysqldump -uusername -ppassword dataBaseName | gzip > /backup/mysql/dataBaseName _$(date +%Y%m%d_%H%M%S).sql.gz

2.データベースバックアップスクリプトの作成
 
[root@localhost /]# mkdir -p /backup
[root@localhost /]# vim /backup/back.sh 

スクリプトの内容:
#!/bin/sh


docker exec -i mysql bash < /backup/mysql/dataBaseName_$(date -d "+8 hour" +%Y%m%d).sql.gz

#            
find /backup/mysql -name "dataBaseName_*" -mtime +7 -exec rm -rf {} \;
exit
 
EOF
 
mkdir -p /backup
# docker          
docker cp mysql:/backup/mysql/dataBaseName_$(date +%Y%m%d).sql.gz /backup/mysql/
#         
find /backup/mysql -name "dataBaseName_*" -mtime +7 -exec rm -rf {} \;

3.スクリプトファイルに権限を設定します.そうしないと、タイマはスクリプトを実行できません.
[root@localhost backup]# chmod 755 /backup/back.sh 

4.タイマー実行スクリプトの設定(ここでは毎晩2時にデータベースをバックアップする)
 
[root@localhost /]# crontab -e

 
0 2 * * *  /backup/back.sh

 
参照リンク:https://blog.51cto.com/13941177/2310406
                 https://blog.csdn.net/MR1269427885/article/details/82978311