rsync定时备份
rsync+crond实现定时备份
rsync介绍
rsync英文称为remote synchronizetion ,从软件的名称就可以看出来, rsync具有可使本地和远程两台主机之间的数
据快速复制同步镜像、远程备份的功能,
这个功能类似于ssh带的scp命令,但是又优于scp命令的功能, scp每次都是全量拷贝,而rsync可以增量拷贝。
当然, rsync还可以在本地主机的不同分区或目录之间全量及增量的复制数据,这又类似
cp命令。但是同样也优于cp命令, cp每次都是全量拷贝,而rsync可以增量拷贝。
在同步数据的时候,默认情况下, rsync通过其独特的"quick check"算法,它仅同步大小或者最后修改时间发生变化的文
件或目录,当然也可根据权限、属主等属性的变化同步
但是需要制定相应的参数,甚至可以实现只同步-一个文件里有变化的内容部分,所以,可是实现快速的同步备份数据。
rsync-快速,通用,可实现全量和增量的远程(和本地)文件复制工具。
rsync监听端口: 873
rsync运行模式: C/S
client/server :客户端/服务端
rsync优缺点
优点: 增量备份
1 )可以增量备份,支持socket ( daemon), 集中备份(支持推拉,都是以客户端为参照物) ; socket ( daemon )需要加
密传输,可以利用vpn服务或ipsec服务。
2)可以限速进行数据的备份或恢复操作。
3 )远程SHELL通道模式还可以加密( SSH )传输
4)支持匿名认证(无需系统用户)的进程模式传输,可以实现方便安全的进行数据备份和镜像
5)保持原文件或目录的权限、时间、软硬链接、主、组等所有属性均不改变-p
6)可以有排除指定文件或目录同步的功能,相当于打包命令tar的排除功能。( -exclude )
缺点
1 )大量小文件时进行同步备份,比对的时间较长,有时候会导致rsync进程停止运行或者进程挂起;
解决方法:
a、打包后再同步;
b、drbd (文件系统同步复制block)。
2 )同步大文件,比如: 10G这样的,有时也会出现问题,导致rsync进程中断 ,未完整同步前,是隐藏文件,但是会占用
磁盘空间(Is-al查看)。直到同步完成后,将隐藏文件改成正常文件。而且,每中断一次,生成-一个隐藏文件。
一、编辑服务端的rsync配置文件,可以yum下载rsync
vim /etc/rsyncd.conf ##全局配置 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软件配置 文件 vim /etc/rsyncd.conf ##全局配置 uid = root #用户 gid = root #用户组 use chroot = no #安全相关 max connections 3 = 200 #最大链接数 timeout = 300 #超时时间 pid file = /var /run/rsyncd.pid #进程对应的进程号文件 lock file = /var/run/rsync. lock #锁文件 1og file = /var/1og/rsyncd.1og #日志文件 ,显示出错信息 ##模块配置 [backup] #模块名称 path = /data #模块对应的位置(路径) ignore errors #忽略错误程序 read only = false #是否只读 list = false #是否可以列表 hosts allow = 10.0.0.0/24 #准许访问rsync服务器的客户范围 #hosts deny = 0.0.0. 0/32 #禁止访问rsync服务器的客户范围 auth users = rsync_ backup #不存在的用户;只用于认证 secrets file = /etc/rsync. password #设置进行连接认证的密匙文件
二、创建rsync备份 目录/授权rsync用户管理备份目录;修改备份目录权限
mkdir -p /data useradd rsync -s /sbin/nologin -M chown -R rsync.rsync /data/
三、创建认证用户密码文件;修改文件权限
echo "rsync_ backup: 123456" >/etc/rsync. password chmod 600 /etc/rsync . password
四、重启rsync守护进程服务
systemctl restart rsyncd systemctl enable rsyncd
五、客户端部署
创建密码文件,客户端密码文件中,只需要密码即可。同时,密码文件的权限是600
echo "123456">/etc/rsync.password chmod 600 /etc/rsync.password
六、客户端测试推送文件
rsync -avz aaa.txt rsync_ backup@10. 0.0.41::backup --password-file=/etc/rsync.password
注意: rsync默认使用873端口,防火墙开启时,需放行端口
七、客户端拉取文件
rsync -avz rsync backup@10.0.0.41:: backup --password-file=/etc/rsync. password /tmp
实例对照图: