简介
rsync(remote synchronize)是类unix系统下的实现远程数据同步功能的工具,它的特性如下:
可以镜像保存整个目录树和文件系统
无需特殊权限即可安装
快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。
安全:可以使用scp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
支持匿名传输,以方便进行网站镜象。
安装
在Ubuntu下安装rsync通过以步骤可以实现:
sudo apt-get install rsync xinetd
默认情况下Ubuntu安装了rsync,因此只需安装xinetd
服务器端配置
1.编辑/etc/default/rsync
启动rsync作为使用xinetd的守护进程
# 打开rsync sudo vim /etc/default/rsync # 编辑rsync RSYNC_ENABLE=inetd
2.创建/etc/xinetd.d/rsync
,通过xinetd使rsync开始工作
# 创建并打开文件 sudo vim /etc/xinetd.d/rsync # 编辑内容 service rsync { disable = no socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
3.创建/etc/rsyncd.conf
,并填写配置信息
# 创建并打开文件 sudo vim /etc/rsyncd.conf # 编辑配置信息 max connections = 2 log file = /var/log/rsync.log timeout = 300 [share] # 模块名 comment = Public Share # path为需要同步的文件夹路径 path = /home/share read only = no list = yes uid = root gid = root # 必须和 rsyncd.secrets中的用户名对应 auth users = user secrets file = /etc/rsyncd.secrets
4.创建/etc/rsyncd.secrets
,配置用户名和密码.
# 创建并打开文件 sudo vim /etc/rsyncd.secrets # 配置用户名和密码,密码可以任意设置 user:password
sudo chmod 600 /etc/rsyncd.secrets
6.启动/重启 xinetd
sudo /etc/init.d/xinetd restart
客户端配置
由于我用的系统是windows,所以需要在windows上安装rsync的客户端cwRsync
1.下载并安装cwRsync
下载地址 cwRsync
2.安装后将其添加到环境变量path中,我的cwRsync
安装在D:\cwRsync
目录下,将D:\cwRsync\bin
添加到环境变量path中
测试
在客户端运行下面的命令检查,确认rsync
配置成功
# user是在服务器中rsyncd.secrets文件中配置的用户名 # xx.xx.xx.xx 是服务器的ip地址,也可以填写服务器对应的域名 # share 是rsyncd.conf中定义的模块 rsync user@xx.xx.xx.xx::share
drwxr-xr-x 4096 2006/12/13 09:41:59 . drwxr-xr-x 4096 2006/11/23 18:00:03 folders
同步
1.将本地文件同步至服务器
# 将当前目录下public路径下的全部内容,同步至服务器,服务器的同步路径在rsyncd.conf中指定 rsync -av ./public/ user@xx.xx.xx.xx::share
2.将服务器文件同步至本地
rsync -cvazu --progress user@xx.xx.xx.xx::share /rsyn原文链接:https://www.f2er.com/ubuntu/352050.html