从linux服务器上自动备份数据库到另一台linux服务器

从A到B服务器

1、下面这是我的  automysq_beifen.sh文件

变量的声明和等号之间不能有空格

str=$(date +%Y%m%d_%H%M)
mysqldump -uroot -p密码 >>/usr/mysql_data/my_data/test${str}.sql
sleep 3 
scp /usr/mysql_data/my_data/test${str}.sql B服务器的IP地址:/usr/test

2、crontable -e

 新建一个定时器   前面的数字表示 每天凌晨3点1分执行一次

1 3  * * * /usr/mysql_data/automysql_beifen.sh 

注意这里有一个坑,,就是 在末尾要加一个空格 。sh类型文件启动是自动在末尾加一个空格

然后重启定时器

service crond restart

3、接下来就是服务器之间传输文件

这里 介绍 从A服务器传到B服务器

在A上面执行   ssh-keygen -t rsa  

用来生成配对用的密钥  直接一直回车就可以 

在、/root/.ssh/下

会生成两个文件 id_rsa  和id_rsa.pub

 

4、将生成的 id_rsa.pub 改名成 authorized_keys

传送到B服务器上的/root/.ssh 下

此时就可以免密码传输文件啦

5、 客户告诉了 我 服务器上只保存15天的数据

 

find /usr/jiedkongtest/ -type f -mtime +15 -name "*.sql" -exec rm -f {} \;

 

你可能感兴趣的:(linux)