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在同步数据时,需要扫描所有文件后进行比对,进行差量传 ...
随机推荐
- DuiLib笔记之CDuiString的bug
在C/C++中,当使用==比较两个对象时,推荐的风格是将常量置前 例如 if (0 == variable) { ... } 但在DuiLib中,CDuiString存在一个bug:在用==进行比较时 ...
- 【bzoj2809】dispatching
这题的最优解法是可并堆,从上往下合并及删点,标准的O(nlogn)解法. 为了练习主席树,特用主席树写一发,可以按dfs序建立主席树,对每个子树进行查询. 总时间5232毫秒,要垫底了... 看来需要 ...
- .Net-Mongodb学习大全网址
http://www.yuanjiaocheng.net/csharpmongo/16.html 介绍 在上一篇文章中,我们继续探索MongoDb .NET驱动程序中的数据序列化. 我们查看了各种属性 ...
- dyld: could not load inserted library '/Developer/usr/lib/libBacktraceRecording.dylib' because no suitable image found. Did find:
错误: dyld: could not load inserted library '/Developer/usr/lib/libBacktraceRecording.dylib' because n ...
- [PA 2011] Journeys
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3073 [算法] 考虑线段树优化建图 建立两棵线段树 , 一棵为入树 , 一棵为出树 ...
- poj2226Muddy Fields——二分图匹配
题目:http://poj.org/problem?id=2226 把行连通块作为左部点,列连通块作为右部点,行列连通块有相交的格子就连边: 则问题转化为求最小点覆盖,即最大匹配. 代码如下: #in ...
- 量子隐形传态1 Quantum Teleportation
量子隐形传态是量子纠缠的又一个应用. 隐形传态,所谓隐形的意思就是没有物质介质就传递了信息,在经典世界,传递信息要有介质,光.电磁波或者其他的什么,但是在量子的世界里,我可以把信息传递给你,并且不传递 ...
- 基于粒子群优化的无约束50维Rosenbrock函数求解
基于粒子群优化的无约束50维Rosenbrock函数求解 一.问题重述 无约束50维的Rosenbrock函数可以描述如下: 其中, 0 要求按PSO算法思想设计一个该问题的求解算法. Rosenbr ...
- codeforces#536题解
CodeForces#536 A. Lunar New Year and Cross Counting Description: Lunar New Year is approaching, and ...
- mysql分页性能
- select * from userinfo limit 20000,10 # 数据越往后越慢 - 索引表中扫: select * from userinfo where id in (sele ...