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 [email protected]:: backup --password-file=/etc/rsync. password /tmp

  

实例对照图:

猜你喜欢

转载自www.cnblogs.com/security-guard/p/12307923.html