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コマンドをそのまま使うとユーザーやパスワードが不要になります
ユーザーパスワードのフォーマットが使用できる場合は、このフォーマットを使用します.
2.データベースバックアップスクリプトの作成
スクリプトの内容:
3.スクリプトファイルに権限を設定します.そうしないと、タイマはスクリプトを実行できません.
4.タイマー実行スクリプトの設定(ここでは毎晩2時にデータベースをバックアップする)
参照リンク:https://blog.51cto.com/13941177/2310406
https://blog.csdn.net/MR1269427885/article/details/82978311
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