Rsync配置及使用

介绍:

cp只能对本地文件的复制

wget是对远程文件进行复制

 

remote sync:

可以镜像保存整个目录树和文件系统

可以增量同步数据

可以保留原文件的权限、时间等属性

加密传输数据

可以使用rcp\ssh等方式传输文件(也可直接通过socket传输)

支持匿名传输

 

用于替代rcp的一个工具,rsync可以通过rsh或ssh使用,也能以daemon模式去运行,在以daemon方式运行时rsync server会开一个873端口,等待客户端去连接,连接时,rsync server会检查口令是否相符,若通过口令查核,则可以通过进行文件传输,第一次连通完成时,会把整份文件传输一次,以后则就只需进行增量备份;

 

四种模式:

1、本地模式

复制包括license目录

rsync -av license /tmp 

复制包括license目录下内容

rsync -av license/ /tmp

2、远程模式(使用ssh执行底层连接和加密传输)

本地复制到远程test目录下

rsync -av license 192.168.1.2:test

3、查询模式(与ls命令实现的功能类似)

查看本地文件

rsync -a 192.168.1.2:test

4、服务器模式(平常说的rsync服务器就是这种,属于C/S模式)

rsync在后台启动一个守护进程,这个守护进程在服务端永久运行,用于接收文件传输请求。客户端可以把文件传输给守护进程,也可以向守护进程请求文件。

 

-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)

归档模式,以递归方式传输文件,并保持所有文件的属性

-v, --verbose               increase verbosity

输出详细信息模式

 

服务器模式配置介绍

服务端配置

#默认没有rsyncd.conf文件,需要手动创建

/etc/rsyncd.conf配置内容:

uid=nobody
gid=nobody
use chroot=no
max connections=20
strict modes=yes
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsync.lock
log file=/letv/rsync/log/rsyncd.log

[log_8281]
path=/data/log/report8281
comment=8281 log file
ignore errors
read only=no
hosts allow=10.110.144.177 10.110.144.178
hosts deny=*
list=false
uid=root
gid=root
auth users=backup
secrets file=/etc/backupserver.pass

[log_8282]
path=/data/log/report8282
comment=8282 log file
ignore errors
read only=no
hosts allow=10.110.144.177 10.110.144.178
hosts deny=*
list=false
uid=root
gid=root
auth users=backup
secrets file=/etc/backupserver.pass

backupserver.pass为密码文件,内容:backup:password(注意:chmod 600 backupserver.pass)

注:backupserver.pass中backup为用户名,和rsyncd.conf中的auth users保持一致

 

启动rsync服务端(守护进程):

/usr/bin/rsync --daemon
--config=/etc/rsyncd.conf #指定配置文件,可以不指定
--prot=873 #指定监听端口,可以不指定;如果指定不为873,客户端连接时需要带上参数--port=指定端口号

如果要开机启动rsync,把/usr/local/rsync –daemon加入文件/etc/rc.local

 

客户端配置

创建backupserver.pass文件,内容为服务端配置访问账户的密码

cat backupserver.pass
password

 

从服务端拉取文件:

rsync -a backup@10.127.92.181::log_8281/sdk-report-2017-12-21.log.gz /data/ --password-file=/etc/backupserver.pass

同步目录:

rsync -a backup@10.127.92.181::log_8282 /data --password-file=/etc/backupserver.pass

上传文件:

rsync -a /data/sdk-report-2017-12-21.log.gz backup@10.127.92.181::log_8281  --password-file=/etc/backupserver.pass

注:

backup为服务器端rsyncd.conf中配置的访问账户;

ip为服务端服务器ip;

log_8281为rsyncd.conf中配置的授权id;

log_8281可以跟目录;

 

同步log脚本:

#!/bin/bash

myTime=$1

if [ -z $myTime ];then
    myTime=`date +'%Y-%m-%d' -d "-1 day"`
fi

#获取IP
ip=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`

#上传文件并重命名文件,加上ip后缀。${ip##*.}为获取ip最后一个.之后的数字
#这么做是为了集群部署上传的log名称不会冲突
rsync -a /logs/mstore.log.$myTime backup@10.127.92.181::log_8281/log/mstore_${ip##*.}.log.$myTime --password-file=/etc/backupserver.pass --port=8088

 

转载于:https://my.oschina.net/u/737390/blog/1593306

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值