一 基本使用
rsync的配置是比较简单的。
参照以下两个基本没有问题,
http://blog.csdn.net/zpf336/article/details/51659666
http://www.cnblogs.com/JohnABC/p/6203524.html
http://www.tuicool.com/articles/bUZJj2u (推荐)
常用方法:
rsync -arv src dst
# 本地到远程
rsync -arv /data/rsync_test/ test@192.168.10.12:/data/rsync_test/
# 远程到本地
rsync -arv test@192.168.10.12:/data/rsync_test/ /data/rsync_test/
使用密码文件:
rsync –daemon –config=/etc/rsyncd.conf 使用password时必须daemon模式启动,
rsync -arv --password-file=rsyncd.pwd/data/rsync_test/ test@192.168.10.12:: 列出当前deamon
rsync -arv --password-file=rsyncd.pwd /data/rsync_test/ test@192.168.10.12::testsync
use port:
rsync -arcz -e 'ssh -p 3333' /data/rsync_test/ test@192.168.10.12:/data/rsync_test/ notice: 192.168.10.12 ssh port is 3333
注意几个问题:
1.rsyncd.pwd 文件名随意,但内容必须是一个密码 格式为: password,权限600,有的也修改了所属关系,我看不用。
在此版本中rsync version 3.0.9 protocol version 30,rsyncd.pwd文件测试发现只能保存一个账户密码。
2.配置文件中的rsyncd.secrets文件名随意,但内容满足格式要求,格式为: username:password,权限600
二 常见问题
这里总结一下遇到问题后的几个解决方法:
1. failed: Permission denied (13)
具体信息:rsync: mkstemp "/.xxxxx.FHKcKU" (in xxxxx) failed: Permission denied (13)
原因分析以及相应的解决方法:
1)出现这个错误是因为selinux, linux安全增强的补丁导致的,禁用selinux。
使用命令 setenforce 0 来临时禁用,或者通过修改配置文件/etc/sysconfig/selinux 添加 SELINUX=disabled来永久禁用
2) 设置的同步路径的权限问题,在配置时需要将同步的目录设置成相应用户的权限,
解决方法:修改路径权限为当前rsync用户的权限。
3)注意uid和gid的值,我配置的时候发现,如果不设置为当前rsync的账户时会出现此问题。
修改配置文件的uid和gid为当前rsync用户。
2.auth failed on module test
两点:一个是/etc/rsyncd.secrets中的账户密码信息不正确,一个是rsyncd.pwd的密码有问题
3.ERROR: password file must not be other-accessible 密码文件不能被其他账户访问
出现此问题说明rsyncd.pwd文件的权限太大,需要设置为:600
浙公网安备 33010602011771号