rsync安装配置

凉白开 Linux219,6527字数 2770阅读9分14秒阅读模式

rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。 rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。这边讲讲rsync安装配置,rsync的常用操作。

1、 准备

版本:3.0.7文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

网址:http://www.samba.org/ftp/rsync/文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

下载地址:http://www.samba.org/ftp/rsync/rsync-3.0.7.tar.gz文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

2、下载安装

# cd /usr/local/src/tarbag/  //切换下载目录
# wget http://www.samba.org/ftp/rsync/rsync-3.0.7.tar.gz  //wget下载文件
# tar –xzvf rsync-3.0.6.tar.gz –C ../software/  //解压tar包到指定目录
# cd /usr/local/src/software/ rsync-3.0.6/  //切换到解压目录
# ./configure --prefix=/usr/local/rsync –disable-ipv6  //配置
# make && make install  //编译安装

3、 服务器端配置

# vi rsyncd.conf
log file = /usr/local/rsync/var/rsyncd.log  //日志文件
pid file = /usr/local/rsync/var/rsyncd.pid  //pid文件路径
lock file = /usr/local/rsync/var/rsyncd.lock //指定lock文件
secrets file = /usr/local/rsync/etc/rsyncd.pas  //指定用户密码对文件
motd file = /usr/local/rsync/etc/rsyncd.motd  //指定欢迎消息文件
read only = yes  //是否只读(若从客户端同步到服务器必须设置为NO)
hosts allow = 192.168.0.0/16,192.168.1.0/24  //允许的IP段
list = yes  //是否允许列表
uid = nobody  //rsync以什么用户身份启动
gid = nobody  //rsync以什么用户组身份启动
use chroot = no  //
max connections = 4  //最大连接数
[bak]  //模块
path = /bak  //模块目录
comment = www bak  //描述信息,可以任意填写
auth users = bak  //认证的用户,服务器必须存在这个系统用户
(保存退出)

-----------以下为rsyncd.conf配置文件内容,rsync配置直接拷贝-------文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

log file = /usr/local/rsync/var/rsyncd.log
pid file = /usr/local/rsync/var/rsyncd.pid
lock file = /usr/local/rsync/var/rsyncd.lock
secrets file = /usr/local/rsync/etc/rsyncd.pas
motd file = /usr/local/rsync/etc//rsyncd.motd
read only = yes
hosts allow = 192.168.0.0/16,192.168.1.0/24
list = yes
uid = nobody
gid = nobody
use chroot = no
max connections = 30
[bak]
path = /bak
comment = www bak
auth users = root

-----------------------------------------------------------文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

# vi rsyncd.pas //用户密码对文件,用“:”隔开
bak:123456
(保存退出)
# chmod 600 rsyncd.pas  //权限必须为600,否则会出错
# vi rsyncd.motd  //配置欢迎消息
welcome to rsync 161
# rsync --daemon --config=/usr/local/rsync/etc/rsyncd.conf

3、 客户端配置

# vi /etc/rsyncd.pas
123456
#chmod 600 /etc/rsyncd.pas //单单密码,权限必须是600
# rsync -avH --progress --delete --password-file=/etc/rsyncd.pas /ftpdata/client/ root@192.168.50.161::bak

解释:文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

--delete:bak模块中存在客户机不存在文件将被删除文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

--password-file:与服务器端匹配的密码文件文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

/ftpdata/client/:同步源目录文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

root@192.168.50.161::bak:同步目标模块,以及root为服务器端认证用户文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

实现功能:把本地目录/ftpdata/client/下的所有文件同步(拷贝)到192.168.50.161这台服务器上的rsync内的bak模块目录中。文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

注意点:

1、 rsync服务器端必须存在bak这个真实用户文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

2、 客户端和服务器的rsyncd.pas文件权限必须为600文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

3、 Secrets file 路径必须正确,否则日志中将会提示密码文件不存在文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

4、 Uid与Gid如果为nobody,则模块的所有者和所有组必须改为nobody文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

5、 rsyncd.pas内的密码和系统用户的密码不同,服务器为用户密码对,而客户端仅仅是密码文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

6、 服务器端rsyncd.pas内可以有多个用户密码对,客户端的rsyncd.pas只能有一个密码文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

7、 有问题查看/usr/local/rsync/var/rsyncd.log内的日志文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

几种同步方法:

Rsync –anH 本地目录 远程IP:具体目录(回车之后提示输入root密码,相当于拷贝)文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

例如:文章源自运维生存时间-https://www.ttlsa.com/linux/rsync-install-on-linux/

Rsync –avH /usr/local/src 192.168.0.2:/bak/test/  -》把src整个目录拷到test内

Rsync –avH /usr/local/src/ 192.168.0.2:/bak/test/  ->把src目录内的所有文件拷贝到test内

Rsync –anH 远程IP:具体目录  本地目录—>远程同步到本地,需要root密码

Rsync –anH rsync用户@IP::模块 本地目录  -->从服务器模块同步到本地目录

注:配置常见问题及解决办法:http://blog.chinaunix.net/uid-26569333-id-3067813.html

weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
凉白开
  • 本文由 发表于 09/02/2012 21:13:11
  • 转载请务必保留本文链接:https://www.ttlsa.com/linux/rsync-install-on-linux/
  • rsync
  • rsync入门
  • rsync同步
  • rsync备份
  • rsync安装
  • rsync安装配置
  • rsync文件同步
  • rsync配置
评论  2  访客  0