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. xmanager 5图文使用教程

    1.Xconfig xconfig是linux下X Window环境中用于配制的一个工具,和menuconfig相似,但用法更友好方便. 当你创建一个会话,会话分配一个默认的配置文件.Xmanager ...

  2. Apache http server和tomcat的区别

    Apache官方网站:http://www.apache.org/Tomcat官方网站:http://tomcat.apache.org/ 1. Apache是web服务器,Tomcat是应用(jav ...

  3. ICE协议下NAT穿越的实现(STUN&TURN)

    正文: 一. 首先来简单讲讲什么是NAT? 原来这是因为IPV4引起的,我们上网很可能会处在一个NAT设备(无线路由器之类)之后.NAT设备会在IP封包通过设备时修改源/目的IP地址. 对于家用路由器 ...

  4. the art of seo(chapter four)

    SEO Implementation:First Stages ***Development Platform and Information Architecture***1.Technology ...

  5. webrtc 学习资源1

    1,http://www.webrtc.org/  webrtc官网,神马编译,神马下载,这里的解决方案才是最权威的. --------------------------------- 2,http ...

  6. BZOJ4936:match (不错的分治)

    给你一个由小写字母组成的字符串s,要你构造一个字典序最小的(认为左括号的字典序比右括号小)合法的括号 序列与这个字符串匹配,字符串和括号序列匹配定义为:首先长度必须相等,其次对于一对匹配的左括号和右括 ...

  7. 查看mysql连接情况,以及连接超时时间设置

    查看连接: show processlist;   只展示100个连接 show full processlist;    展示所有连接 查看超时时间: show variables like  '% ...

  8. C++之引用&的详解

    C++中的引用: 引用引入了对象的一个同义词.定义引用的表示方法与定义指针相似,只是用&代替了*.引用(reference)是c++对c语言的重要扩充.引用就是某一变量(目标)的一个别名,对引 ...

  9. CF 809D Hitchhiking in the Baltic States——splay+dp

    题目:http://codeforces.com/contest/809/problem/D 如果值是固定的,新加入一个值,可以让第一个值大于它的那个长度的值等于它. 如今值是一段区间,就对区间内的d ...

  10. bzoj2875随机数生成器——矩阵快速幂

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2875 矩阵快速幂,把x和c分开求,最后加上即可: 为防止爆long long,要用快速乘. ...