rsync安装
目前rsync的最新版本是3.0.9
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服务器端配置
1.
vi /etc/rsyncd.conf(需要手动生成)
rsyncd.conf的参数写在上边就是全局参数和写在模块里的就是模块参数
#运行RSYNC守护进程的用户
uid = root
#运行RSYNC守护进程的组
gid = root
#不使用chroot
use chroot = no
#最大连接数是4
max connections = 4
#pid文件存放位置
pid file = /var/run/rsyncd.pid
#锁文件存放位置
lock file = /var/run/rsync.lock
#日志文件存放位置
log file = /var/log/rsyncd.log
[logs]
#要同步的目录
path = /usr/local/lnmp
#忽略无关的IO错误
ignore errors
#只读,不能上传
read only = true
#禁止查看文件列表
list = false
#允许访问服务的ip
#hosts allow = 192.168.1.200
#禁止访问服务的ip
#hosts deny = 0.0.0.0/32
#认证的用户名,系统必须存在的用户,但是密码需要在secrets file 配置,不是系统的密码。
auth users = root
#认证用户密码文件,配置auth users的密码
secrets file = /etc/backserver.pas
2.
rsync密码文件是以冒号分隔的明文。
每个用户一行,前面是用户名,后面是密码,用户需要是操作系统存在的用户。
该文件的所有者必须是root,权限是600。
vi /etc/backserver.pas,添加
root:123456
保存并退出后执行
chown root:root /etc/backserver.pas
chmod 600 /etc/backserver.pas
3.
启动rsync服务
/usr/local/bin/rsync --daemon
4.
检查进程是否存在,
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
出现以上结果,表明rsync服务器端已经启动。
5.
打开防火墙
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
6.
结束进程:kill -9 pid的值
kill -15 进程名
7.
rsync开机启动
echo "/usr/bin/rsync --daemon" >> /etc/rc.local
(开机自动启动rsync服务)
注意事项
1) 提示密码文件不能读,需要手工输入密码时,可能就是密码文件权限不是600,或者格式不对,或者是路径不对。
2) 提示要创建新目录或文件传输失败时,可能是欲同步的目录没有权限,最好把欲同步的目录权限修改为744。
3) 从客户端同步文件到服务端时,最好单个文件目录传输,否则易出错。
rsync客户端配置
1.
客户端不用配置,直接使用rsync命令就可以,
rsync -vzrtopg --progress --delete root@118.244.216.177::logs /data/lnmp
2.
如果想rsync无密码登陆,客户端只要配置密码文件即可。
vim /etc/rsyncd.secretes ,这个文件只包含服务器端auth user的密码,不需要配置用户名
123456
chmod 600 rsyncd.secretes (密码文件权限为600,此步必须设置)
注:此处密码一定要与rsync服务器端密码文件中密码保持一致。并且应为rsync客户端密码。
rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secretes root@118.244.216.177::logs /data/lnmp
注:上述命令是指把服务端的这个路径(/usr/local/lnmp)下的文件同步到客户端的这个路径(/data/lnmp)下。
若想反过来,把客户端的文件同步到服务端,则为如下:
rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secretes /data/lnmp root@118.244.216.177::logs
3.
rsync定时任务
早上四点执行rsync备份
crontab -e
00 04 * * * rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secretes root@118.244.216.177::logs /data/lnmp
4.
Rsync 同步参数说明
-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。
--progress是指显示出详细的进度情况
--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除
root@xxx.xxx.xxx.xxx中的root是指定密码文件中的用户名,xxx为ip地址
logs是指在rsyncd.conf里定义的模块名
/data/lnmp 是指本地要备份目录
5.
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的时候)
原文网址:http://www.nginx.cn/980.html
相关推荐
在2.X的版本中,rsync备份时都是先列表再备份(添加或者删除),在处理大量文件时,会耗费比较多的内存。 备份的时候,rsync扫描到的每个文件(目录也一样),在它的列表中约占100字节的内存,如果加了–delete参数的话...
Rsync是一款开源的文件传输协议,其核心功能是能够在本地或网络环境中快速地同步文件和目录。Rsync以其增量复制技术著称,只传输两份文件之间的差异部分,从而大大减少了数据传输量。此外,Rsync还支持压缩、排除...
rsync是一种用于文件传输的开源软件,其核心功能是文件同步,能够快速、增量地同步文件或目录。它利用“差分压缩”算法,只传输两个文件差异部分,极大提高了数据传输效率。此外,rsync支持多种传输协议,如TCP/IP,...
2. rsync 不会同步文件的“modify time”,即使目的端的文件内容和源端不同,rsync 也不会同步文件的最后修改时间。如果需要同步文件的最后修改时间,需要使用-t 选项。 3. rsync 不关心目的端文件的 rwx 权限,...
rsync 的主要特点是可以在本地或远程主机之间同步文件,支持多种文件系统,包括 Unix、Linux、Windows 等平台。rsync 的工作原理是通过比较源文件和目标文件的 checksum,来确定哪些文件需要被同步,从而减少数据...
rsync+inotify是一种实现服务器之间文件实时同步的解决方案,该方案可以实时监控文件系统的变化,并将变化同步到备份服务器中,保障数据的一致性和实时性。 rsync是一种文件同步工具,可以实现触发式的文件同步,但...
其中,Rsync作为一个强大的文件传输工具,通过使用SSH协议,可以实现高效、安全的文件同步与备份。本文将探讨如何在Linux中利用Rsync异步服务器来完成这一任务。 首先,Rsync的异步同步机制允许用户仅传输变化的...
"rsync备份项目详细笔记实战案例" rsync 是一个功能强大的同步工具,广泛应用于数据备份、迁移和同步领域。下面将详细介绍 rsync 的使用方法和实战案例。 rsync 的备份机制 rsync 的备份机制是基于差异备份的,即...
《实用RSYNC服务同步文件详解》 在信息技术领域,数据的备份与同步是至关重要的环节,RSYNC(Remote Sync)作为一个高效、强大的文件同步工具,因其便捷性和灵活性,被广泛应用于服务器之间的数据同步。本文将深入...
2. 使用sersync实时监听和同步文件变化。 3. 设置定时任务(如Cron),定期运行Rsync进行全量同步和一致性检查。 例如,创建一个Cron任务: ```bash 0 0 * * * rsync -avz --delete /local/directory user@remote_...
rsync是一种快速、可靠的文件同步工具,广泛应用于数据备份、同步和复制。下面是关于rsync数据同步手册的知识点总结: 一、系统环境 在开始使用rsync之前,需要了解系统环境的基本配置。包括操作系统、文件系统、...
它能够快速地同步文件和目录,从而实现文件的备份、镜像和同步。rsync 的主要功能包括文件同步、异地备份和触发型的更新。 rsync 的原理 rsync 的工作原理是通过在源服务器和目标服务器上扫描文件,并获取文件的...
使用 rsync 实现文件同步的优点是能够快速、可靠地同步文件,且支持双向同步、incremental 备份、删除文件恢复等功能。 在 Windows 平台下,cwRsync 软件能够与 Windows 的文件系统集成,实现文件的同步和备份。...
* 使用 Rsync 命令来同步文件和目录。 6. Rsync 的使用场景 * 远程同步和备份:Rsync 可以实现跨系统的文件同步和备份,适合大型数据中心和分布式存储系统。 * 增量备份:Rsync 可以实现增量备份,减少备份时间和...
rsync是一款强大的、开源的文件同步和备份工具,它被广泛应用于Linux和Unix系统中,同时也支持Windows环境。rsync以其高效的数据同步能力和增量备份功能而著名,它可以在本地系统间或者通过网络在不同系统之间进行...
在互联网中,Windows环境中使用Rsync远程同步数据;使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他rsync主机同步。
本文将详细介绍如何使用rsync只同步目录结构,而不同步文件。 首先,我们需要了解rsync的`--include`和`--exclude`选项。这两个选项允许我们指定在同步过程中哪些文件或目录应该被包含或排除。在我们的场景中,我们...