Rsync文件同步服务

Posted 皮特王同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rsync文件同步服务相关的知识,希望对你有一定的参考价值。

Rsync简介

Rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具,适用于Unix/Linux/Windows等多种操作系统。

Rsync的特性

  1. 支持拷贝特殊文件如链接、设备文件
  2. 支持增量同步,传输效率较高
  3. 支持使用rcp,rsh,ssh作为隧道进行传输
  4. 支持使用守护进程的方式进行传输
  5. 支持匿名或认证的方式进行传输
  6. 支持保留文件属性不改变,支持排除指定文件

Rsync数据备份架构

 Rsync常用参数

-v  显示过程
-z  压缩方式传输
-a  归档模式,等于-rtopgDL
-r  目录递归
-t  保持时间信息
-o  保持所有者
-p  保持权限
-g  保持所属组
-P 显示过程以及断点续传 -D 保持设备文件信息 -L 保持软连接 -e 使用的信道协议 --exclude 指定排除文件 --bwlimit 限速 --delete 无差别同步

 本地传输

rsync -avz /etc/hosts /tmp/

#区别:/tmp 和 /tmp/ ,前者传目录本身和文件,后者只传目录下的文件
[root@backup ~]# rsync -avz /tmp /mnt/
[root@backup ~]# ls /mnt
Tmp
[root@backup ~]# rsync -avz /tmp/ /mnt/
[root@backup ~]# ls /mnt
hosts

 通过远程shell通道传输

rsync -avz /etc/hosts -e "ssh -p 22" root@172.16.1.31:/mnt

 通过守护进程进行传输

rpm -qa | grep rsync

vim /etc/rsyncd.conf

uid = rsync                         #客户端进行数据传输时所使用的用户
gid = rsync                         #客户端进行数据传输时所使用的用户组
user chroot = no                    #安全相关
max connections = 200               #最大连接数
timeout = 300                       #超时时间,客户端连接后300s不传输自动断开
pid file = /var/run/rsyncd.pid      #进程号文件
lock file = /var/run/rsync.lock     #锁文件
log file = /var/log/rsyncd.log      #日志文件  
ignore errors                       #忽略错误
read only = false                   #可写
list = false                        #客户端不能ls等进行列表
hosts allow = 172.16.1.0/24         #允许连接的主机
#hosts deny = 0.0.0.0/32            #拒绝的主机
auth users = rsync_backup           #客户端登录账号名
secrets file = /etc/rsync.password  #密码文件,用于验证
[backup]                            #模块名称
path = /backup/                     #提供访问的目录

useradd rsync -s /sbin/nologin –M
mkdir /backup
chown rsync.rsync /backup
vim /etc/rsync.password

rsync_backup:peterwang

chmod 600 /etc/rsync.password
rsync --daemon
ps -ef | grep rsync | grep -v grep
lsof -i :873
echo "/usr/bin/rsync --daemon" >> /etc/rc.local 

 客户端配置

mkdir /backup
vim /etc/rsync.password

peterwang

chmod 600 /etc/rsync.password

 传输测试

cd /backup/
touch stu{001..100}
rsync -avz /backup/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password
rsync -avz rsync_backup@172.16.1.41::backup/ /backup/ --password-file=/etc/rsync.password

以上是关于Rsync文件同步服务的主要内容,如果未能解决你的问题,请参考以下文章

Rsync:非常实用的同步文件命令。

rsync+notify 同步(异步方式)文件

rsync+inotify文件实时同步

rsync服务同步日志文件screen工具

Linux下实现文件实时同步(rsync命令+rsync作为服务+xinetd托管rsync)

linux中rsync异步服务器实现文件同步与备份