文件同步rsync
2018-03-14 本文已影响0人
枫凝_a19e
-
安装环境
linux下的rsync服务端配置和window下rsync配置
1. linux的服务端配置如下:
安装:
yum install rsync
配置启动文件:
#修改配置文件
vim /etc/rsyncd.conf
#添加以下的内容
uid = nobody
gid = nobody
use chroot = yes
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
port = 873
read only = no
exclude = lost+found/
transfer logging = yes
timeout = 900
ignore nonreadable = yes
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
[wwwlogs]
#需要同步的目录
path = /data/wwwlogs
##表示出现错误忽略错误
ignore errors
read only=yes #表示可以pull
write only=no #表示可以push
##表示网络权限可写(本地控制真正可写)
##这里设置IP或让不让同步
list = false
##指定允许的网段
hosts allow = *
##拒绝链接的地址,以下表示没有拒绝的链接。
#hosts deny = 0.0.0.0/32
##不要动的东西(默认情况)
##虚拟用户
auth users = rsyncuser
##虚拟用户的密码文件
secrets file = /etc/rsync.password
配置密码文件
vim /etc/rsync.password
#添加用户名和密码(ps这个不是linux下的用户,只是rsysc验证用的)
rsyncuser:123456
设置开机启动和启动rsync服务
systemctl start rsyncd.service #启动服务
systemctl enable rsyncd.service #开机启动服务
2. windown下rsync的客户端配置
官网:
https://www.itefix.net/cwrsync
下载链接
cwRsync - Rsync for Windows
解压后的目录结构如下:
image配置wwwlog.bat内容如下:
rsync.exe --port=873 -avzrtopg --progress --delete --password-file=/cygdrive/C/Users/54568/Desktop/cwRsync_5.5.0_x86_Free/bin/pwd rsyncuser@192.168.33.10::wwwlogs /cygdrive/d/test
window下命令解释:
--port=873 # 端口
-vzrtopg --progress # 显示同步过程详细信息
--delete # 从客户端目录中删除与服务端目录中不同的数据,保证两边数据完全一致
/cygwin/d/test # Window下目录d:\test
wwwlogs # 服务端配置文件rsyncd.conf文件中定义的模块名称
192.168.33.10 # Rsync服务端IP地址
保存后双击wwwlog.bat
image image我们常用rsync有六种不同的工作模式:
- 拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:rsync -a /data /backup
- 使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:rsync -avz *.c foo:src
- 使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:rsync -avz foo:src/bar /data
- 从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:rsync -av root@192.168.78.192::www /databack
- 从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:rsync -av /databack root@192.168.78.192::www
- 列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync -v rsync://192.168.78.192/www
参考资源:
github
https://github.com/axkibe/lsyncd
语法:
客户端
http://qiaomiao.blog.51cto.com/484197/1569611
服务端:
http://blog.csdn.net/qq_33324608/article/details/55259448
http://www.cnblogs.com/zhangeamon/p/5724910.html