制定合理的mysql数据备份方案,并写备份脚本,要求把备份数据传输到备份服务器。
需求:
密钥认证:
$ sudo mkdir /root/.ssh 创建一个.ssh的文件夹
$ sudo chmod 700 /root/.ssh 给.ssh的文件夹授权
$ sudo vi /root/.ssh/authorized_keys 复制公钥到此文件
在 /etc/my.cnf中添加mysqldump的user和password
[mysqldump]
user=root
password[email protected]123
备份整个数据库脚本,并删除本地30天以外的数据库!
#! /bin/bash
##backup all of mysql we used
##written by zhdya_20170928
d=`date +%Y%m%d`
mysqldump --all-databases > /bak/mysql/$d.sql
rsync -az /bak/mysql/$d.sql 192.168.14.107:/bak/mysql/
find /bak/mysql/ -mtime +30 -name '*[1-9].sql' -exec rm -rf {} \;
echo "mysql backup end at `date +"%F %T"`." >>/var/log/mysqlbak.log