linuxでdocker内のmysqlデータを自動的にバックアップ
スクリプト+crontab方式でホストdockerコンテナ内で実行されるデータを定期的にバックアップ
バックアップ・スクリプト:
新しいcrontabタスク:
crontabdサービスの再起動
バックアップ・スクリプト:
docker exec -i mysql bash < /backup/mysql/$(date +%Y%m%d)/discuz_$(date +%Y%m%d_%H%M%S).sql
#
mysqldump --no-defaults --events --all-databases -uroot -padmin > /backup/mysql/$(date +%Y%m%d)/all_$(date +%Y%m%d_%H%M%S).sql
exit
EOF
mkdir /backup/mysql/$(date +%Y%m%d)
docker cp mysql:/backup/mysql/$(date +%Y%m%d) /backup/mysql/
新しいcrontabタスク:
crontab -e
#
0 13 * * * bash /backup/mysql.sh
crontabdサービスの再起動
service crond restart