rsync 配置

来源:互联网 发布:htc windows mobile 编辑:程序博客网 时间:2024/05/01 07:46
1. rsync介绍: 是unix系统下的数据镜像备份工具-remote sync2. 特性:a.可以镜像保存整个目录树和文件系统b.可以很容易做到保持原来文件的权限、时间、软硬链接等等c.快速:第一次同步时rsync会复制全部内容,之后会备份差异文件,rsync可以实行压缩及解压缩操作,可以减少宽带的使用d.安全:可以使用scp 、ssh方式传输,当然也可以通过sockete.支持匿名传输,可以网站镜像一、服务端配置#yum -y install xinetd#vi /etc/xinetd.d/rsync将如下代码service rsync{disable = yessocket_type = streamwait = nouser = root server = /usr/bin/rsyncserver_args = -daemonlog_no_failure += USERID}中的disable = yes 改成 disable = no然后启动xinetd#/etc/init.d/xinetd restart注意:如果服务器上装有防火培记得要打开端口,默认端口是873# telnet 127.0.0.1 873Trying 127.0.0.1...telnet: connect to address 127.0.0.1: Connection refused# iptables -A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 873 -j ACCEPT# iptables -A INPUT -p tcp -m tcp --dport 873 -j DROP# vi /etc/rsyncd.conf(如果没有可以自已创建)uid=rootgid=rootuse chroot=no #不使用chrootmax connections = 20 #最大连接数secret file=/etc/rsyncd.secrets #密码文件位置,认证文件设置,设置用户名和密码log file = /var/log/rsyncd.log #指定rsync的日志文件,而不将日志发给SYSLOGpid file = /var/run/sysncd.pid #指定rsync的pid文件lock file = /var/run/rsync.lock #指定支持max connections 参数的锁文件,默认值是/var/cun/rsyncd.lockcomment = hello world[backup] 认证的模块名,在client端需要指定path = /data/app/www #需要做镜像的目录auth users = userrsyncone,userrsynctwo #授权帐号,认证的用户名如果没有则匿名,多个用户可以用逗号分开read only = no $yes 只读值为NO的意思为可读可写模式hosts allow = 192.168.3.128 允许访问的服务器IPhosts deny = * #黑名单list = true #允放列文件#vi /etc/rsyncd.secrets (设置访问认证的用户密码)userrsyncone:123456userrsynctwo:123456给文件正确的权限#chown root:root /etc/rsyncd.secrets#chmod 600 /etc/rsyncd.secrets (必须是600)二、client 端进行同步客户端默认好像已经装了rsync,没有的话装下:#yum -y install rsync配置:#vi /etc/rsyncd.pas加入密码123456注:客户端的密码文件只需要密码,而不需要用户名!更改文件权限#chmod 0600 /etc/rsyncd.pas#rsync -vzrtopgu --progress --delete --password-file=/etc/rsync.pas userrsyncone@*.*.*.*::backup /wwww/命令说明:-vzrtopg里的v是verbosez是压缩传输r是recursivetopg是保持文件原有属性如属主、时间参数u是只同步已纪更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器的时针的同步--progress是指显示详细的进度情况--delete 是指如果服务器端删除了这一文件,客户端也也会删除相应的文件,保持一致--password-file=/etc/rsync.pas来指定密码文件,这样无需在同步中使用密码了,需要注意的是这个文件属性要设为属主可读userrsyncone@*.*.*.*::backup /www/ backup模块名,也就是在/etc/rsyncd.conf自定义的名称,userrsyncone是同步的用户名执行异步同步操作将服务器端文件同步到客户端#/usr/bin/rsync -avz --progress userrsyncone@42.96.141.41::backup /www可将同步代码放到crontab 将本地代码同步到服务器上#rsync -avzuCP --exclude-from=/data/app/www/manual/exclude.list /data/app/www/manual/ userrsyncone@42.96.141.41::backup --progress --password-file=/etc/rsyncd.pas--exclude-from=/data/app/www/manual/exclude.list :排除不同步的文件列表如下图所示,  为了避免错误最好使用绝对路径这里也可以写成--exclude 'source' 这个是文件夹的名称也可以直接使用文件名称但是这种写法只能使用相对路径/data/app/www/manual/:本地的文件夹userrsyncone@42.96.141.41::backup 授权用户名userrsyncone 见服务端配置,backup是模块名--password-file=/etc/rsyncd.pas 指定交互密码的可读文件路径

0 0