LINUX RSYNC配置详解

来源:互联网 发布:软件项目风险分析 编辑:程序博客网 时间:2024/05/16 16:05

1,首先SERVER与CLIENT都需要安装RSYNC
2,其次在SERVER的/etc/下面建立rsyncd.conf  内容可以按照下面的写法

[root@vm-base-01 local]# more /etc/rsyncd.conf
uid = root                        ///RSYNC启动ID
gid = root
use chroot = no
log file = /var/log/rsyncd.log   ////日志存放
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock

[publishonline]              ///模块名称---也就一个需要同步或备份的目录
   path = /usr/local/apache/htdocs/publish/online/images
   comment = home cad folder
   ignore errors
   read only = yes
   list = no
   auth users = xp20adm             ////登录用户名--自我随意设置
   secrets file = /etc/rsyncd.scrt  ////密码存放文件----一般需要自我建立此文件,路经与命名随意
[publishdown]
   path = /usr/local/apache/htdocs/publish/down/images
   comment = home cad folder
   ignore errors
   read only = yes
   list = no
   auth users = xp20adm
   secrets file = /etc/rsyncd.scrt
[magdown]
   path = /usr/local/apache/htdocs/publish/down
   comment = home cad folder
   ignore errors
   read only = yes
   list = no
   auth users = xp20adm
   secrets file = /etc/rsyncd.scrt
3,SERVER就基本配置好了,自己不要忘记配置模块中制定的目录与密码存放点 
//////////////////////////////注意////////////////////////////////////
bash-2.03# cat /etc/rsyncd.scrt
  密码格式如下 
   用户名:密码 (有个冒号哟)
!!!!!!!!出于安全目的,文件的属性必需是只有属主可读(不能错)!!!!!!!!!!!!!!!!! 

 chmod 400
4,然后就可以启动SERVER端的RSYNC程序了,如果上述配置不正确,rsync是无法正常启动的
启动方案
 
在server端将rsync以守护进程形式启动

bash-2.03# rsync --daemon

如果要在启动时把服务起来,有几种不同的方法,比如:

a、加入inetd.conf

  编辑/etc/services,加入rsync 873/tcp,指定rsync的服务端口是873
  编加/etc/inetd.conf,加入rsync stream tcp nowait root /bin/rsync rsync --daemon

b、加入rc.local

  在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时rsync --daemon加载进去。

5  CLIENT设置
   如果CLIENT想不输入RSYNC的密码而自动同步的话,可以设置一个秘密文件:可以用--password-file=/password/path/file来指定密码文件,这样就可以在脚本中使
   用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。

   下面这个命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。--progress是指显示
   出详细的进度情况,--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。后面的inburst@ip中,
   inburst是指定密码文件中的用户名,之后的::inburst这一inburst是模块名,也就是在/etc/rsyncd.conf中自定义的名称。最后的/tmp是备份
   到本地的目录名。

  举例CLIENT

   如: rsync -vzrtopg --progress --delete inburst@192.168.*.*::inburst  --exclude="*.sh" --exclude="images*" --exclude="*.log"     
        --password-file=/etc/rsync.pas    /home/quack/backup/

 这个例子基本包含所有应用
                          
   参数说明
   -vzrtopg里的
             v是verbose,
             z是压缩,
             r是recursive,
             topg都是保持文件原有属性如属主、时间的参数
   ----progress
              是指显示出详细的进度情况
    --delete  
             是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
             
     inburst@192.168.168.52::inburst
     用户名                   模块名

   --exclude="*.sh"
                 不包含某些文件
   
   --password-file
                 指定CLIENT端密码文件存放路径
     /home/quack/backup/  
                  指定CLIENT端存放镜象目的路径

 

 

基本就这些了~~~剩下就是把CLINET端的RSYNC做一个启动脚本放入CRONTAB中以便定时同步  88

 

 

同时使用 scp 命令也能同步文件,

原创粉丝点击