码迷,mamicode.com
首页 > 其他好文 > 详细

rsync 手动同步

时间:2016-08-15 22:53:09      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:rsync

参考

http://www.ilanni.com/?p=8499

http://ilanni.blog.51cto.com/526870/1605200


rsync认证方式

rsync有两种常用的认证方式,一种是rsync-daemon方式,另外一种是ssh方式。在平时使用过程,我们使用最多的是rsync-daemon方式

注意:在使用rsync时,服务器和客户端都必须安装rsync程序

rsync-daemon认证

rsync在rsync-daemon认证方式下,默认监听TCP的873端口。

rsync-daemon认证方式是rsync的主要认证方式,这个也是我们经常使用的认证方式。并且也只有在此种模式下,rsync才可以把密码写入到一个文件中。

注意:rsync-daemon认证方式,需要服务器和客户端都安装rsync服务,并且只需要rsync服务器端启动rsync,同时配置rsync配置文件。客户端启动不启动rsync服务,都不影响同步的正常进行。

rsync -avz /root/test -e ‘ssh -p1234’ root@192.168.199.248:/root/

配置 

server端

在启动xinetd服务之前,我们还需要配置文件/etc/xinetd.d/rsync,如下:

vi /etc/xinetd.d/rsync

service rsync

{

disable = no

flags = IPv6

socket_type = stream

wait = no

user = root

server = /usr/bin/rsync

server_args = –daemon –config=/etc/rsyncd.conf

log_on_failure += USERID

}

cat << EOF >/etc/rsyncd.conf

EOF

vi /etc/rsyncd.conf

uid = root

gid = root

user chroot = no

max connections = 200

timeout = 600

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsyncd.lock

log file = /var/run/rsyncd.log

[backup]

path = /home/backup/

ignore errors

read only = no

list = no

hosts allow = 192.168.12.0/255.255.255.0

auth users = test

secrets file = /etc/rsyncd.password

[www]

path = /home/www/

ignore errors

read only = no

list = no

hosts allow = 192.168.12.0/255.255.255.0

auth users = apache

secrets file = /etc/rsyncd.password


vi /etc/rsyncd.password

test:test

apache:apache


配置完毕后,我们还需要安装xinetd软件包,否则无法启动xinetd服务。如下:

yum -y install xinetd

/etc/init.d/xinetd start

chkconfig xinetd on

netstat -tunlp |grep 873

参数

-v, –verbose详细模式输出。

-a, –archive归档模式,表示以递归方式传输文件,并保持所有文件属性不变。

-z, –compress对备份的文件在传输时进行压缩处理。

–delete:删除那些DST中存在而在SRC中没有的文件。

3)rsync [OPTION]… SRC [SRC]… [USER@]HOST::DEST

rsync -avz /data test@192.168.199.247::backup –password-file=/etc/rsyncd.password

推送就是在客户端上执行rsync命令,目的是把客户端需要同步的文件推送到服务器上。

拉取也是在客户端上执行rsync命令,目的是把服务器上的文件拉取到本地。

注意:无论是推送和拉取,rsync命令都是在客户端执行,只是命令的格式不同而已


如果是源码方式安装的rsync,我们可以使用rsync –daemon来启动rsync。如下:

echo PATH=$PATH:/usr/local/bin/>>/etc/profile

source /etc/profile

rsync –daemon

ps aux |grep rsync

netstat -tunlp |grep 873

注意:上述命令行中,只有rsync –daemon才是启动rsync的命令。并且该命令启动时,会默认加载/etc/rsyncd.conf文件。


客户端

vi /etc/rsyncd.password

apache

rsync -avz /home/back/* apache@xx::www --password-file=/etc/rsyncd.password xx代表server ip


另外ssh rsync

rsync.sh

#!/bin/bash

ROOT="/data/www/wwwroot/bbs.linuxtone.org/"

SITE="xx"

USER="root"

#PASSWORD="xxx"

read -p "please input password:"  PASSWORD

RSYNC_OPTS="-e \\\"ssh -p22 -o StrictHostKeyChecking=no\\\" -azuv --bwlimit=150 --timeout=1200"


auto_rsync() {

   expect -c "eval spawn -noecho rsync --exclude .git $RSYNC_OPTS $1 $2

      expect \"*?assword:*\"

      send -- \"$PASSWORD\r\"

      expect eof"

}


sync() {

   FILE=$(basename $1)

   DEST=$(dirname $1)

   SRC=$1

   # download remote site file to current location

   #auto_rsync $USER@$SITE:$ROOT$FILE $DEST

   auto_rsync   $SRC  $USER@$SITE:$DEST 

   # update remote site file if newer than backup

   #auto_rsync $1 $USER@$SITE:$ROOT

}


# Remote file Directory

sync "/opt/cdn"



注意

chmod 600 /etc/rsyncd.password

yum -y install inotify-tools

vim /etc/xinetd.d/rsync


# default: off

# description: The rsync server is a good addition to an ftp server, as it \

#       allows crc checksumming etc.

service rsync

{

        disable = no

        flags           = IPv6

        socket_type     = stream

        wait            = no

        user            = root

        server          = /usr/bin/rsync

        server_args     = --daemon –config=/etc/rsyncd.conf

        log_on_failure  += USERID

}

本文出自 “人,要有自己的想法” 博客,请务必保留此出处http://szgb2016.blog.51cto.com/340201/1838342

rsync 手动同步

标签:rsync

原文地址:http://szgb2016.blog.51cto.com/340201/1838342

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!