定期拉取数据rsync

服务器A(主) 10.12.237.234

服务器B(从) 10.12.237.232

需求:服务器B定期拉取服务器A的数据并备份。

实现方式:rsync

一、两台服务器都安装rsync

1)查看是否安装 rpm -aq rsync 安装命令 yum  -y install rsync

2)备份服务器B启动服务

rsync --daemon

3)查看服务

ps -ef |grep rsync #或者 netstat -lnutp |grep rsync

二、主服务器A配置用户

新增用户

useradd rget

设置密码

echo '123456' | passwd --stdin rget

设置权限

setfacl -R -m user:rget:rwx /tmp

设置默认权限 及时以后目录变动更改

setfacl -R -m default:rget:rwx /tmp

查看权限是否正确

getfacl /tmp

 

 

三、备份服务器B生成密钥

1)生成密钥(一直回车就可以)

ssh-keygen -t rsa

2)复制密钥,这里需要输入服务器A刚才配置的的密码

ssh-copy-id   [email protected]

3)测试 登陆服务器A(主)

ssh     [email protected]

4)登陆成功 exit 退出即可

 

四、备份服务器B执行同步

1)执行命令

rsync  -azP  --delete  [email protected]:/tmp   /data/backup

# --delete删除源文件中没有的数据

如果backup目录中存在/tmp中的文件,同步成功。

2)编写脚本

vi rsync_back.sh

#!/bin/bash

rsync  -az  [email protected]:/tmp   /data/backup

 

#定期备份的时候可以把 -azP中的P去掉,不用看进度。

delete 也要去掉,防止误删操作。

执行 chmod +x rsync_back.sh

 

3)定时同步每周五晚23点

命令 crontab -e

0 23 0 0 5  /home/rsync_back.sh &

#定期备份

tar -zcvf  backup_`date +%Y-%m-%d`.tar.gz /data/backup/

当然这样实现备份是极为不安全的,rget用户是可以登陆系统的,也就是说可以做各种操作,甚至提权操作,所以给权限的时候要适量。

猜你喜欢

转载自blog.csdn.net/Doudou_Mylove/article/details/108337995