Rsync+Crond实现备份

Rsync的介绍:

rsync英文称为remote synchronizetion,从软件的名称就可以看出来,rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似于ssh带的scp命令,但是又优于scp命令的功能,**scp每次都是全量拷贝,而rsync可以增量拷贝。**当然,rsync还可以在本地主机的不同分区或目录之间全量及增量的复制数据,这又类似cp命令。但是同样也优于cp命令,cp每次都是全量拷贝,而rsync可以增量拷贝。

在同步数据的时候,默认情况下,rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可根据权限、属主等属性的变化同步,但是需要制定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以,可是实现快速的同步备份数据。

rsync - 快速,通用,可实现全量和增量的远程(和本地)文件复制工具。

常用的备份工具: tar  cp (不支持增量) rsync(支持增量)。

rsync监听端口:873

rsync运行模式:C/S

client/server :客户端/服务端

Rsync有三种传输模式,分别是本地方式、远程方式、守护进程。

本地复制模式:类似于cp

隧道传输模式: 类似于scp   (Pull: 拉取   Push: 推送

守护进程模式: 以守护进程(socket)的方式传输数据(rsync 本身的功能).**最常用。

环境如下:

centos7   10.0.0.42    服务端

centos7    10.0.0.43    客户端

服务端的部署:

1、关闭防火墙:

Rsync+Crond实现备份

2、查看rsync软件服务是否存在 : (如果没有,yum -y install rsync)

Rsync+Crond实现备份

3、手动配置rsync软件配置文件  (不能有空格!!!)

Rsync+Crond实现备份

#全局配置
uid = root
gid = root
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

##模块配置
[backup]
path = /data
ignore errors
read only = false
list = false
hosts allow = 10.0.0.0/24
#hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password

Rsync+Crond实现备份

4、创建rsync备份目录/授权rsync用户管理备份目录;修改备份目录权限:

mkdir -p /data

seradd rsync -s /sbin/nologin -M

chown -R rsync.rsync /data/

Rsync+Crond实现备份

5、创建认证用户密码文件,修改文件的权限:

echo "rsync_backup:123456" >/etc/rsync.password

chmod 600 /etc/rsync.password

Rsync+Crond实现备份

6、重启rsync守护进程服务:

systemctl restart rsyncd.service

systemctl enable rsyncd.service

Rsync+Crond实现备份

启动文件:

Rsync+Crond实现备份

客户端的部署:

创建密码文件,客户端密码文件中,只需要密码即可。同时,密码文件的权限是600。

echo "123456">/etc/rsync.password

chmod 600 /etc/rsync.password

Rsync+Crond实现备份

客户端推送文件:

Rsync+Crond实现备份

Rsync+Crond实现备份

Rsync+Crond实现备份

客户端拉取文件:

Rsync+Crond实现备份