`

rsync

 
阅读更多

rsync安装

wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
tar -xvzf rsync-3.0.9.tar.gz; cd rsync-3.0.9;
./configure; make;
make install

rsync服务器端配置

vi /etc/rsyncd.conf(需要手动生成)
uid = root
gid = root
use chroot = no
max connections = 4
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log

[client1]
path = /data/client1data
comment = client1 file
ignore errors
read only = no
write only = no
list = false
hosts allow = 192.168.10.7
hosts deny = *
uid = root
gid = root
auth users = davy
secrets file = /usr/local/rsync/etc/client1.pass

vi /usr/local/rsync/etc/client1.pass
davy:123456

chown root:root /usr/local/rsync/etc/client1.pass
chmod 600 /usr/local/rsync/etc/client1.pass

启动rsync服务

/usr/local/bin/rsync --daemon --config=/etc/rsyncd.conf

检查进程是否存在,

ps -aux |grep rsync
root      4406  0.0  0.0   4228   588 ?        Ss   May14   0:00 /usr/local/bin/rsync --daemon
netstat -an |grep 873
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN

打开防火墙
vi /etc/sysconfig/iptables
-A INPUT -p tcp -s X.X.X.X --dport 873 -j ACCEPT
service iptables restart
or
iptables -i INPUT -p tcp --dport 873 -j ACCEPT
iptables -L
结果如下
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:rsync

结束进程:kill -9 pid的值
kill -15 进程名

rsync开机启动
echo "/usr/bin/rsync --daemon --config=/etc/rsyncd.conf" >> /etc/rc.local

注意事项
1) 提示密码文件不能读,需要手工输入密码时,可能就是密码文件权限不是600,或者格式不对,或者是路径不对。
2) 提示要创建新目录或文件传输失败时,可能是欲同步的目录没有权限,最好把欲同步的目录权限修改为744。
3) 从客户端同步文件到服务端时,最好单个文件目录传输,否则易出错。

rsync客户端配置

客户端不用配置,直接使用rsync命令就可以,
rsync -vzrtopg --progress --delete root@118.244.216.177::logs /data/lnmp

如果想rsync无密码登陆,客户端只要配置密码文件即可。
vim /etc/rsyncd.secretes ,这个文件只包含服务器端auth user的密码,不需要配置用户名
123456
chmod 600 rsyncd.secretes (密码文件权限为600,此步必须设置)
rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secretes root@118.244.216.177::logs /data/lnmp

若想反过来,把客户端的文件同步到服务端,则为如下:
rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secretes /data/lnmp root@118.244.216.177::logs

rsync定时任务 早上四点执行rsync备份
crontab -e
00 04 * * * rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secretes root@118.244.216.177::logs /data/lnmp

Rsync 同步参数说明
-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。
--progress是指显示出详细的进度情况
--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除
root@xxx.xxx.xxx.xxx中的root是指定密码文件中的用户名,xxx为ip地址
logs是指在rsyncd.conf里定义的模块名
/data/lnmp 是指本地要备份目录

rsync常用参数:
#rsync [option] 源路径 目标路径
其中[option]为:
a:使用archive模式,等于-rlptgoD,即保持原有的文件权限
z:表示传输时压缩数据
v:显示到屏幕中
e:使用远程shell程序(可以使用rsh或ssh)
–delete:精确保存副本,源主机删除的文件,目标主机也会同步删除
–include=PATTERN:不排除符合PATTERN的文件或目录
–exclude=PATTERN:排除所有符合PATTERN的文件或目录
–password-file:指定用于rsync服务器的用户验证密码

----------------------------------------------------------------------------------------------------------------------------
rsync常见错误排错
1.
rsync: failed to connect to 118.244.216.177: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6]
原因:防火墙屏蔽了端口
解决:打开873段考
iptables -i INPUT -p tcp --dport 873 -j ACCEPT
iptables -L
如果以上指令不行,可以直接停掉防火墙
/etc/init.d/iptables stop

2.
@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]
那估计是密码文件没有设置权限哦: chmod 600 /home/admin/security/rsync.pass
应该差不多就可以了

3.@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)
这是因为密码设错了, 无法登入成功, 请检查一下 rsyncd.scrt 中的密码, 二端是否一致?

4.password file must not be other-accessible
continuing without password file
Password:
这表示 rsyncd.scrt 的档案权限属性不对, 应设为 600。

5.@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)
这通常是您的 rsyncd.conf 中的 path 路径所设的那个目录并不存在所致.请先用 mkdir开设好要备份目录

6.@ERROR: access denied to www from unknown (192.168.1.123)
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(359)
最后原因终于找到了。因为有两个网段都需要同步该文件夹内容,但没有在hosts allow 后面添加另一个IP段
hosts allow = 192.168.1.0/24
改为
hosts allow = 192.168.1.0/24 192.168.2.0/24
重新启动rsync服务,问题解决

7.@ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]
client端没有设置/etc/rsync.pas这个文件,而在使用rsync命令的时候,加了这个参数--password-file=/etc/rsync.scrt

8.rsync: recv_generator: mkdir "/teacherclubBackup/rsync……" failed: No space left on device (28)
*** Skipping any contents from this failed directory ***
磁盘空间满了

9.rsync: opendir "/kexue" (in dtsChannel) failed: Permission denied (13)
同步目录的权限设置不对,改为755

10.rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(759) [receiver=3.0.5]
未启动xinetd守护进程
[root@CC02 /]# service xinetd start

11.rsync: unable to open configuration file "/etc/rsyncd.conf": No such file or directory
xnetid查找的配置文件位置默认是/etc下,在/etc下找不到rsyncd.conf文件

12.rsync: failed to connect to 203.100.192.66: Connection timed out (110)
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.5]
连接服务器超时,检查服务器的端口netstat –tunlp,远程telnet测试

13.我需要在防火墙上开放哪些端口以适应rsync?
视情况而定。rsync可以直接通过873端口的tcp连接传文件,也可以通过22端口的ssh来进行文件传递,但你也可以通过下列命令改变它的端口:
rsync --port 8730 otherhost::
或者
rsync -e 'ssh -p 2002' otherhost:

14.我如何通过rsync只复制目录结构,忽略掉文件呢?
rsync -av --include '*/' --exclude '*' source-dir dest-dir

15.为什么我总会出现"Read-only file system"的错误呢?
看看是否忘了设"read only = no"了

16.@ERROR: chroot failed
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服务器端的目录不存在或无权限。创建目录并修正权限可解决问题。

17.@ERROR: auth failed on module tee
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服务器端该模块(tee)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败。提供正确的用户名密码解决此问题。

18.@ERROR: Unknown module ‘tee_nonexists’
rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]
原因:
服务器不存在指定模块。提供正确的模块名或在服务器端修改成你要的模块以解决问题。

19.权限无法复制。去掉同步权限的参数即可。(这种情况多见于Linux向Windows的时候)

分享到:
评论

相关推荐

    aix下rsync安装包

    在IT领域,尤其是在系统管理与数据同步操作中,`rsync`是一个不可或缺的工具。它在各种操作系统上广泛使用,包括Linux和Unix-like系统,如AIX。本篇文章将详细介绍在AIX环境下如何安装和使用`rsync`,以及它在跨平台...

    ubuntu rsync中文乱码 window ubuntu rsync同步中文乱码.docx

    rsync -avzup --progress --iconv=GBK,UTF-8 --protect-args --password-file=/etc/rsync.pass rsync@192.168.0.1::module /local/path ``` 这里的`--iconv=GBK,UTF-8`意味着`rsync`将从GBK编码转换为UTF-8编码...

    rsync备份海量文件时占用大量内存的解决方法

    linux发行版中大多都自带rsync,不过版本比较低,一般都是2.6.X 在2.X的版本中,rsync备份时都是先列表再备份(添加或者删除),在处理大量文件时,会耗费比较多的内存。 备份的时候,rsync扫描到的每个文件(目录也...

    linux 下rsync文件夹同步配置

    ### Linux下rsync文件夹同步配置详解 #### 引言 在Linux环境下,rsync工具因其高效、稳定、灵活的特点,被广泛应用于文件备份、数据迁移以及文件夹同步等场景。本文将详细介绍如何在Linux系统中配置rsync进行...

    cygwin 下 rsync-3.0.8安装及使用说明

    Rsync是另一个非常重要的工具,它用于高效地同步和备份文件。在本教程中,我们将深入探讨如何在Cygwin环境下安装rsync 3.0.8版本,并学习其基本用法。 首先,我们需要获取`rsync-3.0.8`的安装包。这个过程可以通过...

    rsync常见错误及解决方法

    rsync常见错误及解决方法 rsync是一款功能强大的远程数据同步工具,它可以在不同的主机之间同步文件和目录。但是,在使用rsync时,可能会遇到各种错误,本文将总结一些常见的rsync错误及其解决方法。 一、@ERROR: ...

    rsync命令教程 在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项。

    Rsync命令详解 在对rsync服务器配置结束以后,下一步就需要在客户端发出rsync命令来实现将服务器端的文件备份到客户端来。rsync是一个功能非常强大的工具,其命令也有很多功能特色选项。 一、rsync的六种工作模式: ...

    rsync命令详细解答

    ### rsync命令详解 #### 一、概述 `rsync`是Linux系统中一个非常强大的文件同步工具,它能够高效地在本地或者远程之间进行文件和目录的同步操作。相较于传统的`scp`命令,`rsync`具有更快的传输速度,并且支持增量...

    Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步

    ### Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步 #### 1. Rsync简介 Rsync 是一个开源的、高效的文件同步工具,它主要用于在本地或远程主机之间同步文件和目录。Rsync 通过只传输源文件与目标...

    ranger-2.1.0-usersync.tar.gz

    在“ranger-2.1.0-usersync.tar.gz”这个压缩包中,我们关注的是Ranger的用户同步工具(Ranger Usersync),这是一个关键组件,用于将组织的用户和组信息从身份提供者(如Active Directory或LDAP)同步到Hadoop集群...

    一键安装Rsync脚本

    **一键安装Rsync脚本** 是一个为了简化Rsync服务端环境部署而设计的实用工具。Rsync(Remote Sync)是一种高效、强大的文件同步和备份工具,广泛应用于系统管理员之间同步数据、备份服务器或者在多台机器间进行文件...

    rhel5之rsync服务配置

    【RHEL5中的rsync服务配置】 RHEL5操作系统中,rsync是一个强大的文件同步工具,常用于在本地或远程系统之间同步数据。本篇将详细介绍如何配置rsync服务。 首先,确认RHEL5系统已经预装了rsync软件包。rsync服务的...

    rsync_架设手册

    ### rsync架设手册 #### 1. 什么是rsync? rsync是一个高效且功能强大的文件传输工具,专为Unix类系统设计。它利用所谓的“rsync算法”,能够迅速地在本地与远程服务器间同步文件,仅传输文件差异部分,大大节省了...

    rsync+inotify实现服务器之间文件实时同步

    rsync+inotify实现服务器之间文件实时同步 rsync+inotify是一种实现服务器之间文件实时同步的解决方案,该方案可以实时监控文件系统的变化,并将变化同步到备份服务器中,保障数据的一致性和实时性。 rsync是一种...

    linux下Rsync+sersync实现文件数据实时同步

    `Rsync`和`sersync`是两个常用的工具,它们能够有效地帮助我们完成这个任务。本文将深入探讨这两个工具的工作原理、配置方法以及如何结合使用来实现实时同步。 **Rsync** `Rsync`是一个强大的、快速的文件同步和...

    window Git完美使用rsync.assets.7z

    在Windows环境下,Git和rsync的结合使用可以提供高效、灵活的版本控制和文件同步解决方案。这个名为"window Git完美使用rsync.assets.7z"的压缩包可能包含了一套详细的指南,帮助用户在Windows上配置和利用这两个...

    rsync-3.0.6.tar.gz

    rsync是Linux操作系统中的一款强大的文件同步工具,其版本为3.0.6。这个工具以其高效、轻量级的特点而备受青睐,尤其适合在资源有限的环境中进行数据同步。rsync不仅支持本地文件和目录的同步,还能跨网络同步不同...

    rsync同步的艺术

    "rsync同步的艺术" rsync 是一个功能强大的文件同步工具,经常用于服务器之间的文件同步和备份。它能够确保文件的内容、权限和时间戳保持一致。下面是 rsync 的一些重要知识点: 1. rsync 的基本使用:rsync 可以...

Global site tag (gtag.js) - Google Analytics