centos下自动备份mysql,将备份文件转到其他机器备份,centosmysql


1、首先创建备份目录和备份脚本文件,这就不多说了

2、备份交本文件如下:

#!/bin/bash


now=$(date +"%Y%m%d") #获取当前日期


days=5


bk_dr=/ #备份目录的路径


find $bk_dr/备份文件名称 -mtime +$days -exec rm -rf {} ; #删除$days的备份文件


mysqldump -u 数据库账号 -p数据库密码 要备份的数据库 |gzip> $bk_dr/导出的文件名$now.sql.gz

username=root


chown -R $username:$username $bk_dr #给备份文件设置所有者

scp $bk_dr/导出的文件名$now.sql linux账号@要备份到的服务器IP:/路径

(这里用的scp,为了不每次都输入备份服务器的密码,需要设置机器信任,也可以用ftp等方式)

3、设置两台机器的ssh信任

使用ssh-keygen -t rsa命令,建立信任证书


ssh b@B mkdir -p .ssh在要备份的机器上创建.ssh目录用于存放证书


cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'把证书拷贝到刚才创建的目录并改名为authorized_keys


这样就可以用ssh命令测试一下ssh user@IP

4、将备份文件变成可执行文件

chmod +x 文件所在路径


5、创建任务计划


vi /etc/crontab


添加一行命令:执行时间 执行的账号 需要的命令 执行文件的位置

* * * ** user Command /

(具体写法可以查询一下crond)

重启crontab

/etc/rc.d/init.d/crond restart

开机执行:

chkconfig crond on

重启服务

service crond restart

相关内容

    暂无相关文章