linux文件同步

1、服务器端配置

在/etc目录下创建rsyncd.conf文件,内容如下

# /etc/rsyncd: configuration file for rsync daemon mode

# See rsyncd.conf man page for more options.

# configuration example:

# uid = nobody
# gid = nobody
# use chroot = yes
# max connections = 4
# pid file = /var/run/rsyncd.pid
# exclude = lost+found/
# transfer logging = yes
# timeout = 900
# ignore nonreadable = yes
# dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2

# [ftp]
#        path = /home/ftp
#        comment = ftp export area


uid=nobody 
gid=nobody 
use chroot = no 
max connections = 0 
pid file = /var/run/rsyncde.pid 
lock file = /var/run/rsync.lock 
log file = /var/log/rsyncd.log 
Timeout = 300
Log format = %t %a %m %f %b
[backup] 
path=/var/data/ 
ignore errors 
read only = yes  
list = no 
auth users = root 
secrets file = /etc/rsyncd.secrets 
hosts allow = 0.0.0.0/0 
hosts deny = 0.0.0.0/0

chmod 0600 /etc/rsyncd.secrets  #更改密码文件权限

创建rsyncd.secrets文件,内容如下

root:password   //用户名、密码

启动服务

rsync --daemon   //启动rsync服务


2、客户端

客户端就不用启动rsync服务了

shell>vi /etc/rsyncd.secrets #这里也是创建密码文件,文件名字自定义,但内容只需要填目标服务授权密码

shell>chmod 0600 /etc/rsyncd.secrets #更改文件权限

内容:

password    //这里是服务端rsync服务授权密码


测试:(在服务端/home/source/ 先创建test文件 )

shell>rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.secrets rsync@192.168.1.2::backup /home/receive

v:传输时的进度等信息, z:表示压缩, r:是递归, t:保持文件原有时间, o:保持文件原有属主, P:传输进度, g:保持文件原有用户组
--progress 指显示

--delete 指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致

--password-file=/etc/rsyncd.secrets 认证密码

rsync 认证用户

backup 认证模块

如果客户端/home/receive/下产生了test文件代表同步成功

下一步写一个脚本文件实现真正的同步......

#!/bin/sh
step=1 #间隔的秒数,不能大于60
while true
 do
   rsync -vzrtopg  --progress --password-file=/etc/rsyncd.secrets [email protected]::backup /usr/local/tomcat/apache-tomcat-7.0.62/webapps
   rsync -vzrtopg  --progress --password-file=/etc/rsyncd_b1.secrets [email protected]::backup /usr/local/tomcat/apache-tomcat-7.0.62/webapps
    sleep $step
done



启动执行:

nohup ./rsync.sh >>rsy.log &

你可能感兴趣的:(linux文件同步)