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
添加一行命令:执行时间 执行的账号 需要的命令 执行文件的位置
5、创建任务计划
vi /etc/crontab
添加一行命令:执行时间 执行的账号 需要的命令 执行文件的位置
* * * ** user Command /
(具体写法可以查询一下crond)
重启crontab
/etc/rc.d/init.d/crond restart
开机执行:
chkconfig crond on
重启服务
service crond restart
centos7下设置开机启动和重启服务的命令:
systemctl enable crond.service;
systemctl restart crond.service;