Ubuntu配置rsync服务

 参考链接:20170723-Ubuntu配置rsync服务 - SegmentFault 思否

使用inotify rsync实现linux文件批量实时更新

亲测可用

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

这里的users = user 是你自己设置的用户名,我设置的是:users = lucifer

这里的path = /home/share 是你自己设置的共享的文件夹,我设置的是:path = /home/lcf/share

4.创建/etc/rsyncd.secrets,配置用户名和密码.

# 创建并打开文件
sudo vim /etc/rsyncd.secrets
# 配置用户名和密码,密码可以任意设置
user:password

这里的user:password 是你自己设置的用户名,4里面的use需要和3中的保持一致:我设置的是:lucifer= 123456

5.修改rsyncd.secrets文件的权限

sudo chmod 600 /etc/rsyncd.secrets

6.启动/重启 xinetd

sudo /etc/init.d/xinetd restart

Window客户端配置

由于我用的系统是windows,所以需要在windows上安装rsync的客户端cwRsync

1.下载并安装cwRsync
2.安装后将其添加到环境变量path中,我的cwRsync安装在D:\cwRsync目录下,将D:\cwRsync\bin添加到环境变量path中

Ubuntu 客户端配置

在客户端运行下面的命令检查,确认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

采用shell 保存

#!/bin/bash
# password:123456
cd /data2/home/lichaofei/
rsync -cvazu --progress lucifer@xx.xx.xx.xx::share syncDest

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值