数据无价,自动化备份是运维底线。本文提供基于 mysqldump + crontab 的本地增量备份与远程拉取备份完整脚本,开箱即用。
创建 /var/lib/mysql/autobak:
cd /data/home/mysqlbak
rq=`date +%Y%m%d`
/usr/local/mysql/bin/mysqldump sqldb --flush-logs -uroot -p123456 --opt > 777city_$rq.sql
--flush-logs 会滚动二进制日志,配合增量恢复使用。
chmod 777 /var/lib/mysql/autobak
crontab -e
# 每天 00:00 执行
00 00 * * * /var/lib/mysql/autobak
/etc/init.d/crontab restart
./var/lib/mysql/autobak
ls /data/home/mysqlbak
du -sh /data/home/mysqlbak/777city_$(date +%Y%m%d).sql
在备份服务器(IP: 67)上拉取业务服务器(IP: 172)数据:
cd /data/home/mysqlbak
rq=`date +%Y%m%d`
/usr/local/mysql/bin/mysqldump sqldb --flush-logs -uroot -p'123456' -h'10.241.92.172' --opt > 777city_$rq.sql
注意密码加单引号,IP 地址为主库地址。
chmod -R 777 /var/lib/mysql/autobak
crontab -e
00 00 * * * /var/lib/mysql/autobak
/etc/init.d/crontab restart
SELECT, LOCK TABLES, SHOW VIEW, RELOAD 等必要权限