Rsync配置
一.Rsync简介
Rsync(remote sync)如其名字一样,是一款Linux下常用的远端同步工具,虽说是远端同步工具,其实还是可以用来同步本地数据的。
二.Rsync特性
- 在同步时,可以很容易的同步远端目录结构。
- 可以很容易的做到,保持原文件的权限,时间,硬链接。
- 除第一次同步时 rsync 会复制全部内容以外,之后的每一次同步都只传输修改过或缺少的文件。
- rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以节省带宽。
- 支持以scp,ssh等方式进行传输文件。
- 在没有Rsync服务器的情况下,依然可以使用rsync命令行工具进行同步操作。
三.Rsync的安装
由于笔者使用的服务器系统是Ubuntu 10.04,Rsync是默认安装的,如果Rsync没有安装的话,可以使用以下命令进行安装。
- sudo apt-get install rsync //包管理器为apt的,都可以使用这条命令进行安装。
- yum install rsync -y //包管理器为yum的,都可以使用这条命令进行安装。
四.Rsync服务的配置
到这里如果只是使用rsync命令行工具的话,其实已经可以使用了,如果是想配置rsync服务的话,请继续往下看
编辑配置文件
- vim /etc/rsyncd.conf //此文件默认是不存在的,因为每个人使用rsync的方法不同,
- //所以rsync在安装完之后并没有创建配置文件
配置文件模板如下(根据个人需求进行更改):
- uid = root
- gid = root
- use chroot = no
- max connections = 20
- pid file
- lock file
- log file
- [server-logs] //module-name,同步的时候需要使用
- path
- readonly = true
- hosts allow = 10.0.0.0/24 //允许访问的地址段,也可以是单台主机
- deny hosts = 10.0.0.0/24 //禁止访问的地址段,也可以是单台主机
- list = true
- auth users = calvin
- secrets file= /etc/rsyncd.secrets //认证文件,该文件权限必须是600
创建认证文件
- echo "user:passwd" /etc/rsyncd.secrets //文件的路径需要与”/etc/rsyncd.conf“中secrets file的路径对应
- //注意:rsync clint端并不需要写用户名
启动rsync服务
- rsync --daemon --port 38873 --config=/etc/rsyncd.conf
- // --daemon是以守护进程的模式启动
- // --port是rsync使用的监听端口,默认是873
- // --config是指定rsync的配置文件
到这,rsync服务已经部署好了。
五.Rsync客户端的配置
客户端在安装好rsync的同时,只需创建认证文件既可使用
- echo "passwd" >
- chmod 600 /etc/rsyncd.secrets //该文件一定要是600权限,不然会出错
同步命令
- rsync --password-file='/etc/rsyncd.secrets'
- // --password-file 指定验证文件
- // --avP为rsync常用参数,会在下面进行介绍
- // --port指定监听端口
- // calvin为用户名
- // 10.2.31.30为主机ip
- // server-logs为主机定义的moudule-name
- // /var/logs目的路径
六.Rsync常用参数
-avP = -a --verbose --partial --progress
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
--verbose 显示同步时的信息
--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输
--progress 显示同步时的进度信息
--files-from 同步列表中的文件
--dry-run 显示需要同步的数据,并不真正的同步
-e 指定远端的shell程序
--exclude 指定需要排除的文件,支持正则表达式
转载于:https://blog.51cto.com/calvinyz/1149984