rsync的简单使用

参考文献
http://www.51testing.com/?uid-116228-action-viewspace-itemid-240205

 

由于服务端和客户端上已经有rsync,所以安装过程略

 

服务端的配置:

1、启动RSYNC
vi /etc/xinetd.d/rsync
把原来的YES改成NO
service rsync
{
disable = no
socket_type     = stream
wait            = no
user            = root
server          = /usr/bin/rsync
server_args     = –daemon
log_on_failure  += USERID
}


随系统启动RSYNC
chkconfig rsync on

 

2、建立/etc/rsyncd.conf
rsyncd.conf
的参数写在上边就是全局参数和写在模块里的就是模块参数
vi /etc/rsyncd.conf
我建立的可用的 的内容为

uid = root                               

gid = root                             

use chroot = no               

max connections = 4            

strict modes =yes             

port = 873                    

 

 [data]                 

path = /data/       

comment = This is a test   

ignore errors              

read nly = yes           

list = no                  

auth users = username         

secrets file = /etc/rsync.pas         

hosts allow = 0.0.0 .0/0    

#hosts deny = 0.0.0 .0/0                 

#transfer logging = yes

 

其中[data]表示一个模块,服务端可以把多个模块“共享”出来,每个模块可以有不同的配置,参考:

 

3、配置rsync密码(在上边的配置文件中已经写好路径) /etc/rsync.pas(名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)

vi /etc/rsync.pas

username:password


权限:因为rsync.pas存储了rsync服务的用户名和密码,所以非常重要。要将rsync.pas设置为root拥有, 且权限为600
cd /etc
chown root.root rsync.pas
chmod 600 rsync.pas

 

4、让配置生效
service xinetd restart

 

三、启动rsync server(有xinetd超级进程启动)
# /etc/rc.d/init.d/xinetd reload

检查rsync
#netstat -a | grep rsync
tcp        0      0 0.0.0 .0:873                 0.0.0.0:*                   LISTEN

 

 

客户端:这里只要一个密码,且不需要指定用户名

vi /etc/rsync_client.pas
888


修改rsync_client.pas的权限.(如果不改,rsync会提示该密码文件必须是root独有权限的,拒绝执行)
chown root.root /etc/rsync_client.pas
chmod 600 /etc/rsync_client.pas

 

至此,在客户端执行以下命令已经可以将服务器上log这个共享对应的目录同步到/data/htdocs/www/ad/logs

rsync -aqz --password-file=/etc/rsync_client.pas oas_rsync@ 192.168.1.102::log/data/htdocs/www/ad/logs

 

备用信息:

rsync -aqz --password-file=/etc/rsync_client.pas oas_rsync@ 192.168.1.10::data/data/backup

 

 

3、自动运行

Mkdir /usr/local/rsync
1
vi /usr/local/rsync/time.sh     //制作脚本文件
把下边的内容复制进去
#!/bin/bash
rsync -aqz --password-file=/etc/rsync_client.pas name@ 92.168.1.102::log/data/ht11

 

 

编制好的文件需要附加权限,才能够被执行

chmod 777 /usr/local/rsync/time.sh
2) crontab -e
加入*/3 * * * * /usr/local/rsync/time.sh        //3分运行一次time.sh脚本文件

(参考http://baike.baidu.com/view/1229061.htm

 

-------------------------------------------------------------------------------------------------------

文件过滤
vi /etc/rsync_filter

在里面输入过滤条件
+ */

+ lin*.log

+ oh*.log

+ spmote*.log

- *

表示的意思是,备份所有目录信息,备份文件名为....这样的文件,不备份其他文件

 

新的备份语句为:

rsync -aqz --exclude-from=/etc/rsync_filter --password-file=/etc/rsync_client.pas [email protected]::data /data/ba

--exclude-from=/etc/rsync_filter表示从/etc/rsync_filter读取排除的规则(实际上也添加了不排除的规则)

 

你可能感兴趣的:(rsync)