rsync安装、配置、实例
来源:互联网 发布:mac os 进度条不动 编辑:程序博客网 时间:2024/06/05 18:01
rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。
一、语法
rsync [OPTION]... SRC [SRC]... DESTrsync [OPTION]... SRC [SRC]... [USER@]HOST:DESTrsync [OPTION]... SRC [SRC]... [USER@]HOST::DESTrsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DESTrsync [OPTION]... [USER@]HOST:SRC [DEST]rsync [OPTION]... [USER@]HOST::SRC [DEST]rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
二、rsync有六种不同的工作模式
1、拷贝本地文件。当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。如:rsync -a /data /backup2、使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。如:rsync -avz *.c foo:src 3、使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。如:rsync -avz foo:src/bar /data 4、从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。如:rsync -av root@192.168.88.134::www /backup 5、从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。如:rsync -av /backup root@192.168.88.134::www 6、列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。如:rsync -v rsync://192.168.88.134/www
三、配置rsync服务器端
1、修改rsync的配置文件(这个在centos7以上的版本已经没有了)
启动rsync服务,编辑/etc/xinetd.d/rsync文件,将其中的disable=yes改为disable=no,并重启xinetd服务,如下:
[root@rsync-server ~]# vim /etc/xinetd.d/rsync #default: off # description: The rsync server is a good addition to an ftp server, as it # allows crc checksumming etc. service rsync { disable = no socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }[root@rsync-server ~]# /etc/init.d/xinetd restart
2、创建rsync服务器配置文件/etc/rsyncd.conf
[root@rsync-server ~]# cat > /etc/rsyncd.conf << ENDuid = root gid = root max connections=4 port = 873 hosts allow = 192.168.88.134, 192.168.88.136#hosts deny = 0.0.0.0/32log file=/var/log/rsyncd.log pid file=/var/run/rsyncd.pid lock file=/var/run/rsyncd.lock secrets file=/etc/rsync.passwd[www] comment= backup code path=/home/wwwroot read only = no exclude=test auth users=rsync END[root@rsync-server ~]# echo "rsync:abc123" > /etc/rsync.passwd [root@rsync-server ~]# chmod 600 /etc/rsync.passwd #这个一定要600的权限
备注:/etc/rsyncd.conf 的注解
secrets file #指定认证文件[www] 模块名字,自己命名comment #注释,后面内容自己定义path #指定文件目录所在位置,这是必须指定auth users #同步验证时用的账号,如果没有这项就是匿名同步,client同步时不用用户名也能同步。
特别注意:在/etc/rsyncd.conf 配置文件中,不要出现中文,要不然在同步的时候可能会报错
3、启动服务端
[root@rsync-server ~]# systemctl start rsyncd #或者用这种启动/usr/bin/rsync --daemon[root@rsync-server ~]# ps -ef | grep rsync[root@rsync-server ~]# netstat -tunlp | grep rsync
四、配置rsync客户端
1、[root@rsync-client ~]# cat /etc/rsyncd.conf #文件内容为空就行。2、[root@rsync-client ~]# systemctl start rsyncd #启动rsync3、[root@rsync-client ~]# echo "abc123" > /etc/rsync.passwd #创建密码文件,名字随便定义4、[root@rsync-client ~]# chmod 600 /etc/rsync.passwd
到此客户端也就配置完成了,就可以同步数据了
**
五、将服务端的数据拉到本地
**
[root@rsync-client ~]# /usr/bin/rsync -vzrtopg --delete --progress rsync@192.168.88.134::www /www --password-file=/etc/rsync.passwd
**
六、将本地的数据上传到服务端
**
[root@rsync-client ~]# /usr/bin/rsync -vzrtopg --delete --progress /www/ rsync@192.168.88.134::www --password-file=/etc/rsync.passwd
上面这个命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数(也可以用直接用a来代替rtopg, a为 –archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD)。–progress是指显示出详细的进度情况,–delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。
**
七、rsync常见错误
**
1、password file must not be other-accessible continuing without password file Password: 解决:这是因为rsyncd.pwd rsyncd.sec的权限不对,应该设置为600。如:chmod 600 rsyncd.pwd 2、@ERROR: auth failed on module xxxxx rsync: connection unexpectedly closed (90 bytes read so far) rsync error: error in rsync protocol data stream (code 12) at io.c(150) 解决:这是因为密码设置错了,无法登入成功,检查一下rsync.pwd,看客服是否匹配。还有服务器端没启动rsync 服务也会出现这种情况。 3、@ERROR: chroot failed rsync: connection unexpectedly closed (75 bytes read so far) rsync error: error in rsync protocol data stream (code 12) at io.c(150) 解决:这是因为你在 rsync.conf 中设置的 path 路径不存在,要新建目录才能开启同步。 4、ERROR: module is read onlyrsync: read error: Software caused connection abort (113)rsync error: error in rsync protocol data stream (code 12) at io.c(769) [sender=3.0.8]解决:这是因为服务器端配置文件rsyncd.conf中read only = yes,为只读,即不允许客户端上传文件,改成no就可以了。
阅读全文
0 0
- rsync安装、配置、实例
- rsync安装、配置、实例
- rsync安装、配置、实例
- linux--rsync--rsync安装、配置、实例
- rsync安装配置
- rsync安装配置
- rsync安装与配置
- rsync 安装 配置 自动化
- Rsync安装与配置
- rsync安装配置
- rsync的安装配置
- linux rsync安装配置
- rsync 安装和配置
- inotify+rsync安装配置
- inotify+rsync安装配置
- inotify+rsync安装配置
- rsync安装配置
- rsync配置实例 windows(rsync server) linux(rsync client)
- OAuth2.0授权原理及开发流程详解
- Java泛型学习-20170817
- 因为涉嫌歧视女性被开除的那位工程师到底在备忘录上写了什么?
- mutable怎样改变private成员
- 使用sed提示错误unterminated `s' command
- rsync安装、配置、实例
- 20170816 Notes
- HDU6217 Hard challenge(计算几何)
- NYOJ 44 子串和
- pl/sql入门
- 一个简单的数据库连接池实例
- Android三种基本的加载网络图片方式
- Mybatis的高级映射--多表查询
- PAT_1070. Mooncake