Rsync  is  a  fast and extraordinarily versatile file copying tool.

Rsync是一款开源的,快速的,多功能的,可实现全量和增量的本地或者远程的数据同步,备份的优秀工具。

Rsync的功能:

1、支持拷贝特殊文件如链接文件、设备等。

2、可以有排除指定文件或目录同步的功能,相当于打包命令tar的--exclude=PATTERN排除功能。

3、可以做到保持原文件或目录的权限、时间、软硬链接、属主、属组等所有属性不变。

4、可以实现增量同步,即只同步发生改变的文件。

5、可以使用rcp,rsh,ssh等方式配合传输文件。(rsync本身不对文件进行加密)。

6、可以通过socket(进程方式)传输文件和数据(即客户端与服务端)。

7、支持匿名的认证(无需系统用户)的进程模式传输,可实现方便安全的进行数据备份及镜像。

Rsync安装:

一般Linux系统自带的有rsync工具

[root@backup shell]# rpm -qa rsync
rsync-3.0.-.el6.x86_64

Rsync语法:

Local: rsync [OPTION...] SRC... [DEST]

Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST

Access via rsync daemon:
Pull: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [OPTION...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [OPTION...] SRC... rsync://[USER@]HOST[:PORT]/DEST

语法解释:

Local:本地

[OPTION]:rsync的参数

SRC:源数据所在地目录

[DEST]或DEST:目标存放数据所在地目录

Pull:是在本地通过rsync将远程主机的数据拉到本地主机上。

Push:是在本地通过rsync将本地数据推送到远程主机上。

[:PORT]:端口

此次创建rsync服务器将以socket方式进行传输数据

A、服务端

1、首先在服务端上创建rsync配置文件,rsync没有自带的配置的文件,所以需要手工进行创建。

配置文件所在位置:/etc/rsyncd.conf

其中参数配置请使用

[root@backup shell]# man rsyncd.conf

rsyncd.conf — configuration file for rsync in daemon mode

#rsync_config________start
##-------------CopyRight-------------
## Name:rsync configure
## Version Number:1.00
## Type:text
## Language:text
## Date:--
## Author:sandy
## QQ:
## Email:eeexu123@.com
## Blog:https://www.cnblogs.com/eeexu123/ ##rsync.conf start##
uid = www //备份目录的UID
gid = www //备份目录的GID
use chroot = no //安全方面
max connections = 200 //最大连接数
timeout = 300 //超时
pid file = /var/run/rsyncd.pid //rsync进程的pid
lock file = /var/run/rsync.lock //锁文件
log file = /var/log/rsyncd.log //rsync日志文件
ignore errors //忽略错误
read only = false //只读为假
list = false //可以查看
hosts allow = 172.16.1.0/24 //允许传输的网段
#hosts deny = 0.0.0.0/32 //拒绝传输的网段
auth users = rsync_backup //匿名的用户
secrets file = /etc/rsync.password //匿名用户的密码
[backup] //备份的目录
path = /backup
[nfsbackup]
path = /data
#rsync_config________end

2、创建用户www及配置备份目录的权限

 [root@backup ~]# useradd www
[root@backup ~]# id www
uid=(www) gid=(www) 组=(www)
 [root@backup ~]# chown -R www.www /backup/
[root@backup ~]# ll /backup/
总用量
-rw-r--r--. www www 3月 : rsyncd

3、创建匿名用户和密码文件

 [root@backup ~]# cat /etc/rsync.password
rsync_backup:oldboy

4、修改密码文件的权限

 [root@backup ~]# chmod  /etc/rsync.password
[root@backup ~]# ll /etc/rsync.password
-rw-------. root root 2月 : /etc/rsync.password

5、启动Rsync服务

 [root@backup ~]# rsync --daemon

B、客户端

1、首先创建匿名用的密码文件

 [root@nginx ~]# cat /etc/rsync.password
oldboy

2、修改密码文件的权限

 [root@nginx ~]# chmod  /etc/rsync.password
[root@nginx ~]# ll /etc/rsync.password
-rw-------. root root 5月 : /etc/rsync.password

C、测试

服务器备份目录状态

[root@backup ~]# ll /backup/
总用量

客户端推送数据到服务端

 [root@nginx tools]# rsync -avz /root/tools/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password
sending incremental file list
./
zabbix-agent-3.0.-.el6.x86_64.rpm sent bytes received bytes 654202.00 bytes/sec
total size is speedup is 1.00

查看服务端

 [root@backup ~]# ll /backup/
总用量
-rw-r--r-- www www 5月 zabbix-agent-3.0.-.el6.x86_64.rpm

D、配置Rsync服务启动脚本

脚本存放地在/etc/init.d/rsyncd

 #!/bin/bash

 #-------------CopyRight-------------
# Name:Rsync start or stop
# Version Number:1.00
# Type:sh
# Language:bash shell
# Date:--
# Author:sandy
# QQ:
# Email:eeexu123@.com
# Blog:https://www.cnblogs.com/eeexu123/ # rsyncd Start or Stop the rsync server daemon
#
# chkconfig: 23 //可以被chkconfig管理
# description: rysnc is backup server pid_file=/var/run/rsyncd.pid
RETVAL= #source functions libary
. /etc/init.d/functions #check permission
[ -x /etc/init.d/rsyncd ]||{
echo "rsyncd is permission denied"
exit
} #start rsync
start(){
if [ $UID -ne ];then
echo "User has insufficient privilege."
exit
fi if [ -e $pid_file ];then
echo "Rsync is running"
exit
else
/usr/bin/rsync --daemon
RETVAL=$?
if [ $RETVAL -eq ];then
action "Rsync start" /bin/true
else
action "Rsync start" /bin/false
fi
fi
return $RETVAL
} #stop rsync
stop(){
if [ $UID -ne ];then
echo "User has insufficient privilege."
exit
fi if [ ! -e $pid_file ];then
echo "Rsync is stoped"
exit
else
killproc -p $pid_file
RETVAL=$?
if [ $RETVAL -eq ];then
action "Rsync stop" /bin/true
else
action "Rsync stop" /bin/false
fi
fi
return $RETVAL
} #restart rsync
restart(){
if [ $UID -ne ];then
echo "User has insufficient privilege."
exit
fi stop
sleep
start
return $RETVAL
} case "$1" in
start)
start
RETVAL=$?
;;
stop)
stop
RETVAL=$?
;;
restart)
restart
RETVAL=$?
;;
*)
echo "USAGE:$0 {start|stop|restart}"
esac
exit $RETVAL

测试

 [root@backup ~]# netstat -tulnp|grep rsync
tcp 0.0.0.0: 0.0.0.0:* LISTEN /rsync
tcp ::: :::* LISTEN /rsync
[root@backup ~]# /etc/init.d/rsyncd stop
Rsync stop [确定]
[root@backup ~]# netstat -tulnp|grep rsync
[root@backup ~]# /etc/init.d/rsyncd start
Rsync start [确定]
[root@backup ~]# netstat -tulnp|grep rsync
tcp 0.0.0.0: 0.0.0.0:* LISTEN /rsync
tcp ::: :::* LISTEN /rsync

  

Rsync备份同步数据工具的更多相关文章

  1. linux 远程同步数据工具rsync (1)

    rsync 远程同步数据工具,是linux下的数据备份工具rsync(remote sync 远程同步) 特点:在本地同步数据(类似于cp,但是有不同于远程scp),它会先判断已经存在的数据和远程数据 ...

  2. 架设rsync服务器同步数据

    什么是rsync rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用.本文主要讲述的是如何自架rsync服 务器,以实现文件传输.备 ...

  3. 2-3-2 rsync+inotify备份同步数据

    RSYNC = Remote Sync 远程同步 高效,一定要结合shell 官网:https://rsync.samba.org Author: Andrew Tridgell, Wayne Dav ...

  4. linux 远程同步数据工具rsync (2)

    在远程主机上建立一个rsync的服务器,在服务器上配置好rsync的各种应用,然后本机作为rsync的一个客 户端去连接远程的rsync服务器.如何去配置一台rsync服务器. 首先配置/etc/rs ...

  5. centos6.5下部署sersync+rsync --daemon同步数据

    rsync --daemon端配置 [root@rsync-daemon etc]# /etc/init.d/iptables stop [root@rsync-daemon ~]# dos2unix ...

  6. rsync服务架设(数据同步|文件增量备份)

        近期由于业务需要,需要将两台服务器数据保持同步.方案有很多,rsync是其中一种解决方案,本文对rsync的安装及配置进行简单说明,其他实现方式有兴趣可以研究.以下是本文提纲,供参考: rsy ...

  7. rsync+inotify实现数据实时同步

    rsync rsync是linux系统下的数据镜像备份工具.支持远程同步,本地复制,或者与其他SSH.rsync主机同步. 优点: 1).可以镜像保存整个目录树和文件系统.保存源目录整个目录树和文件系 ...

  8. Linux下Rsync+Inotify-tools实现数据实时同步

    Linux下Rsync+Inotify-tools实现数据实时同步 注意:下面的三个案例都是rsync 每次都是全量的同步(这就坑爹了),而且 file列表是循环形式触发rsync ,等于有10个文件 ...

  9. Rsync+inotify自动同步数据

    一.简介 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足. 首先,rsync在同步数据时,需要扫描所有文件后进行比对,进行差量传 ...

随机推荐

  1. Android 监听返回键退出程序的两种实现

    1.Android 双击返回键退出程序 思路:用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态.定 ...

  2. 什么是aop?-------转

    什么是AOP?  http://www.cnblogs.com/zhugenqiang/archive/2008/07/27/1252761.html#commentform(转) AOP(Aspec ...

  3. Jquery跨域调用

    今天在项目中须要做远程数据载入并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发现JQuer ...

  4. 基于sys文件系统的LED驱动的移植【原创】

    基于RK3188平台LED驱动程序的移植的移植.如有不正确之处,欢迎大家指点. 本文的LED驱动程序不是通过打开设备节点来访问和控制LED的,是通过sys文件系统来控制LED. 板子上有四盏灯以及对应 ...

  5. sdut oj 2372 Annoying painting tool (【暴力枚举测试】1Y )

    Annoying painting tool 题目描述 Maybe you wonder what an annoying painting tool is? First of all, the pa ...

  6. discuz邮箱注册激活||腾讯企业邮箱免费注册及登录方法

    如何申请免费的企业邮箱,如果拥有了网站,还能有一个免费的域名邮箱,是不是很拉风呢?对于还没有注册企业的用户来说,优先使用企业邮箱,是非常好的事呢. 腾讯邮箱现在开放免费的企业邮箱注册,效果要比个人邮箱 ...

  7. PHP Json函数不能处理中文的解决办法

    PHP5.2 新增的 json 功能是非常受欢迎的,但是经过测试发现,json_encode 对中文的处理是有问题的: 不能处理GB编码,所有的GB编码都会替换成空字符: utf8编码的中文被编码成u ...

  8. [原创]Java开发如何在线打开Word文件

    此方案使用了PageOffice产品实现在线打开Word文档: 1. 首先从PageOffice官网下载产品开发包,http://www.zhuozhengsoft.com/dowm/ ,下载Page ...

  9. java学习之super关键字

    对于具有public或者protected属性的父类,其子类若想继承父亲的属性或者方法,那么需要用到super 实例:

  10. hibernate学习四 hibernate关联关系映射

    在Hibernate中对象之间的关联关系表现为数据库中表于表之间的关系(表之间通过外键关联). 1 单向的一对一 主键关联  外键关联 2 单向的一对多 3 单向的多对一 4 单向的多对多 5 双向的 ...