Rsync备份同步数据工具
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备份同步数据工具的更多相关文章
- linux 远程同步数据工具rsync (1)
rsync 远程同步数据工具,是linux下的数据备份工具rsync(remote sync 远程同步) 特点:在本地同步数据(类似于cp,但是有不同于远程scp),它会先判断已经存在的数据和远程数据 ...
- 架设rsync服务器同步数据
什么是rsync rsync 是一个快速增量文件传输工具,它可以用于在同一主机备份内部的备分,我们还可以把它作为不同主机网络备份工具之用.本文主要讲述的是如何自架rsync服 务器,以实现文件传输.备 ...
- 2-3-2 rsync+inotify备份同步数据
RSYNC = Remote Sync 远程同步 高效,一定要结合shell 官网:https://rsync.samba.org Author: Andrew Tridgell, Wayne Dav ...
- linux 远程同步数据工具rsync (2)
在远程主机上建立一个rsync的服务器,在服务器上配置好rsync的各种应用,然后本机作为rsync的一个客 户端去连接远程的rsync服务器.如何去配置一台rsync服务器. 首先配置/etc/rs ...
- centos6.5下部署sersync+rsync --daemon同步数据
rsync --daemon端配置 [root@rsync-daemon etc]# /etc/init.d/iptables stop [root@rsync-daemon ~]# dos2unix ...
- rsync服务架设(数据同步|文件增量备份)
近期由于业务需要,需要将两台服务器数据保持同步.方案有很多,rsync是其中一种解决方案,本文对rsync的安装及配置进行简单说明,其他实现方式有兴趣可以研究.以下是本文提纲,供参考: rsy ...
- rsync+inotify实现数据实时同步
rsync rsync是linux系统下的数据镜像备份工具.支持远程同步,本地复制,或者与其他SSH.rsync主机同步. 优点: 1).可以镜像保存整个目录树和文件系统.保存源目录整个目录树和文件系 ...
- Linux下Rsync+Inotify-tools实现数据实时同步
Linux下Rsync+Inotify-tools实现数据实时同步 注意:下面的三个案例都是rsync 每次都是全量的同步(这就坑爹了),而且 file列表是循环形式触发rsync ,等于有10个文件 ...
- Rsync+inotify自动同步数据
一.简介 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足. 首先,rsync在同步数据时,需要扫描所有文件后进行比对,进行差量传 ...
随机推荐
- Android 监听返回键退出程序的两种实现
1.Android 双击返回键退出程序 思路:用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键之前的状态.定 ...
- 什么是aop?-------转
什么是AOP? http://www.cnblogs.com/zhugenqiang/archive/2008/07/27/1252761.html#commentform(转) AOP(Aspec ...
- Jquery跨域调用
今天在项目中须要做远程数据载入并渲染页面,直到开发阶段才意识到ajax跨域请求的问题,隐约记得Jquery有提过一个ajax跨域请求的解决方式,于是即刻翻出Jquery的API出来研究,发现JQuer ...
- 基于sys文件系统的LED驱动的移植【原创】
基于RK3188平台LED驱动程序的移植的移植.如有不正确之处,欢迎大家指点. 本文的LED驱动程序不是通过打开设备节点来访问和控制LED的,是通过sys文件系统来控制LED. 板子上有四盏灯以及对应 ...
- sdut oj 2372 Annoying painting tool (【暴力枚举测试】1Y )
Annoying painting tool 题目描述 Maybe you wonder what an annoying painting tool is? First of all, the pa ...
- discuz邮箱注册激活||腾讯企业邮箱免费注册及登录方法
如何申请免费的企业邮箱,如果拥有了网站,还能有一个免费的域名邮箱,是不是很拉风呢?对于还没有注册企业的用户来说,优先使用企业邮箱,是非常好的事呢. 腾讯邮箱现在开放免费的企业邮箱注册,效果要比个人邮箱 ...
- PHP Json函数不能处理中文的解决办法
PHP5.2 新增的 json 功能是非常受欢迎的,但是经过测试发现,json_encode 对中文的处理是有问题的: 不能处理GB编码,所有的GB编码都会替换成空字符: utf8编码的中文被编码成u ...
- [原创]Java开发如何在线打开Word文件
此方案使用了PageOffice产品实现在线打开Word文档: 1. 首先从PageOffice官网下载产品开发包,http://www.zhuozhengsoft.com/dowm/ ,下载Page ...
- java学习之super关键字
对于具有public或者protected属性的父类,其子类若想继承父亲的属性或者方法,那么需要用到super 实例:
- hibernate学习四 hibernate关联关系映射
在Hibernate中对象之间的关联关系表现为数据库中表于表之间的关系(表之间通过外键关联). 1 单向的一对一 主键关联 外键关联 2 单向的一对多 3 单向的多对一 4 单向的多对多 5 双向的 ...