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、关闭防火墙:
2、查看rsync软件服务是否存在 : (如果没有,yum -y install rsync)
3、手动配置rsync软件配置文件 (不能有空格!!!)
#全局配置
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
4、创建rsync备份目录/授权rsync用户管理备份目录;修改备份目录权限:
mkdir -p /data
seradd rsync -s /sbin/nologin -M
chown -R rsync.rsync /data/
5、创建认证用户密码文件,修改文件的权限:
echo "rsync_backup:123456" >/etc/rsync.password
chmod 600 /etc/rsync.password
6、重启rsync守护进程服务:
systemctl restart rsyncd.service
systemctl enable rsyncd.service
启动文件:
客户端的部署:
创建密码文件,客户端密码文件中,只需要密码即可。同时,密码文件的权限是600。
echo "123456">/etc/rsync.password
chmod 600 /etc/rsync.password