背景:项目部署在别人服务器,不知道别人的服务器和域名什么时候到期,不能重新部署,只能等服务器停用的时候才能移植。现只有宝塔账号,没有root密码,想要实现实时远程备份数据库到另一台服务器
思路:(亲测有效)
1.先创建定时任务每一天备份一次数据库
2.找到数据库备份文件位置
3.通过rsync命令远程备份到其他服务器
4.通过shell脚本定时执行rsync命令
rsync功能能够自动同步文件,非常方便,但是它在远程拷贝文件之前提示还需要输入一个密码,要实现脚本自动拷贝,必须要优化掉这个步骤,所以要提前设置了rsync 免密方式自动同步文件,简单两步即可实现
1.在备份机上执行命令,然后一路回车
ssh-keygen
2.拷贝这个密码文件到远程服务器主机上,继续执行命令
ssh-copy-id -i ~/.ssh/id_rsa.pub root@XX.XX.XX.XXX
准备工作已做好,下面正式开始步骤
1.宝塔创建计划任务,方便快捷。
备份想要的数据库文件,找到文件位置,我的文件是在/www/backup/database/下
2.通过rsync命令远程备份
这条命令的意思是将目录/www/ba