Linux搭建rsync服务
一、Rsync的简单介绍
Rsync是一款开源的、快速的、多功能的、可实现全量及增量(全量备份是指全部备份,增量备份是在上一次备份的基础上只备份更新的内容)的本地货远程数据同步备份的优秀工具。Rsync软件适用于unix/linux/windows等多种操作系统平台。
二、Rsync的三种工作模式
#rsync 本地模式
Local: rsync [OPTION...] SRC... [DEST]
#rsync shell模式
Access via remote shell:
Pull: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
Push: rsync [OPTION...] SRC... [USER@]HOST:DEST
#rsync daemon模式
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
三、Rsync常用参数
|
-v |
详细模式输出,传输时的进度等信息 |
|
-z |
传输时进行压缩以提高传输效率,--compress-level=NUM可按级别压缩 |
|
-a |
以递归方式传输文件,并保持所有文件的属性 |
|
-r |
对子目录以递归模式,即目录下的所有目录都以同样的模式传输 |
|
-t |
保持文件的时间信息 |
|
-o |
保持文件的属主信息 |
|
-p |
保持文件的权限 |
|
-g |
保持文件的属组信息 |
|
-P(大写) |
显示同步的过程及传输时的进度等信息 |
|
-D |
保持设备文件信息 |
|
-I |
保留软链接 |
|
-e,--rsh=COMMAND |
使用的信道协议,指定替代rsh的shell程序 |
|
-n |
测试选项,模拟执行 |
|
--exclude=PATTERN |
指定排除不需要传输的文件模式 |
|
--exclide-from=FILE |
从文本文件读取需要排除的文件列表 |
|
--bwlimit=KBPS |
限制传输速度 |
|
--partial |
断点续传 |
|
--delete |
使目标目录内容和源保持目录一致,删除不同的文件 |
四、搭建Rsync服务
实验环境:
<1>系统环境:
•CentOS7.5
<2>主机环境:
•backup01 IP地址:10.0.0.41 rsync服务端(备份服务端)
•nfs01 IP地址:10.0.0.31 rsync客户端(用户数据)
1、服务端(远程备份服务器)
第一步:查看rsync安装包
rpm -qa rsync 第二步:添加rsync服务的用户,管理本地目录
useradd -s /sbin/nologin -M rsync
id rsync 第三步:配置rsync的进程模式(vim /etc/rsyncd.conf)
uid = rsync
gid = rsync
use chroot = no
max connections =
timeout =
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[backup]
path = /backup
ignore errors
read only = false
list = false
fake super = yes
hosts allow = 172.16.2.0/
hosts deny = 0.0.0.0/
auth users = rsync_backup
secrets file = /etc/rsync.password 第四步:根据rsync.conf的auth_users配置帐户,远程连接的,并根据secreets file参数生成密码文件
echo "rsync_backup:wt">>/etc/rsync.password
cat /etc/rsync.password 第五步:更改密码配置文件的权限
chmod /etc/rsync.password
ls -l /etc/rsync.password 第六步:创建共享的目录授权rsync服务管理
mkdir -p /backup
chown -R rsync.rsync /backup #提示:如果没有/backup目录,就会chdir failed 第七步:启动rsync服务并检查
rsync --daemon
ps -ef|grep rsync|grep -v grep
lsof -i : 第八步:开机自启动
echo "/usr/bin/rsync --daemon">>/etc/rc.local
tail - /etc/rc.local
2、客户端
第一步:生成连接服务器需要的密码文件
echo "wt">>/etc/rsync.password
cat /etc/rsync.password 第二步:为密码文件配置权限
chmod /etc/rsync.password
ls -l /etc/rsync.password
3、客户端推送数据到服务端
提示:rsync: chgrp "data" (in backup) failed: Operation not permitted (1),出现这个语句是因为rsyncd.conf没有配置fake super = yes
[root@nfs01 ~]# mkdir /data
[root@nfs01 ~]# cd /data/
[root@nfs01 data]# touch aaa
[root@nfs01 data]# rsync -avz /data rsync_backup@172.16.2.41::backup/
Password:
sending incremental file list
rsync: chgrp "data" (in backup) failed: Operation not permitted ()
data/
data/aaa
rsync: chgrp "data/.aaa.3HdDEQ" (in backup) failed: Operation not permitted () sent bytes received bytes 37.76 bytes/sec
total size is speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code ) at main.c() [sender=3.1.]
4、服务端查看数据是否推送成功
[root@backup01 ~]# cd /backup/
[root@backup01 backup]# ls
data
[root@backup01 backup]# cd
[root@backup01 ~]# cd /backup
[root@backup01 backup]# ls
data
[root@backup01 backup]# ls data/
aaa
五、Rsync多模块配置
uid = rsync
gid = rsync
use chroot = no
max connections =
timeout =
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[backup]
path = /backup
ignore errors
read only = false
list = false
fake super = yes
hosts allow = 172.16.2.0/
hosts deny = 0.0.0.0/
auth users = rsync_backup
secrets file = /etc/rsync.password [wtt]
path = /wtt
ignore errors
read only = false
list = false
fake super = yes
hosts allow = 172.16.2.0/
hosts deny = 0.0.0.0/
auth users = rsync_wtt
secrets file = /etc/rsync.password.wtt
六、深入使用Rsync
1、从远程存储节点拉取数据到本地
[root@nfs01 ~]# cd /data/
[root@nfs01 data]# ls
aaa ssss
[root@nfs01 data]# rm -f *
[root@nfs01 data]# rsync -avz rsync_backup@172.16.2.41::backup/ /data/ --password-file=/etc/rsync.password
receiving incremental file list
./
aaa
ssss sent bytes received bytes 500.00 bytes/sec
total size is speedup is 0.00
2、排除某些文件推送数据
#同步除名为eee文件之外的文件 [root@nfs01 data]# ls aaa bbb ccc ddd eee ssss [root@nfs01 data]# rsync -avz --exclude=eee /data rsync_backup@172.16.2.41::backup/ --password-file=/etc/rsync.password sending incremental file list data/ data/aaa data/bbb data/ccc data/ddd data/ssss sent bytes received bytes 922.00 bytes/sec total size is speedup is 0.00 #查看远程存储节点的数据内容 [root@backup01 backup]# ls data [root@backup01 backup]# ls data/ aaa bbb ccc ddd ssss
3、排除多个文件推送数据
#同步除名为ccc和eee文件之外的文件
[root@nfs01 data]# ls
aaa bbb ccc ddd eee ssss
[root@nfs01 data]# rsync -avz --exclude={ccc,eee} /data rsync_backup@172.16.2.41::backup/ --password-file=/etc/rsync.password
sending incremental file list
data/
data/aaa
data/bbb
data/ddd
data/ssss
sent bytes received bytes 784.00 bytes/sec
total size is speedup is 0.00
#查看远程存储节点的数据内容
[root@backup01 backup]# ls
data
[root@backup01 backup]# ls data/
aaa bbb ddd ssss
8.4、排除连续文件推送数据
[root@nfs01 data]# ls
a aaa b bbb c ccc ddd eee ssss
[root@nfs01 data]# rsync -avz --exclude={a..c} /data rsync_backup@172.16.2.41::backup/ --password-file=/etc/rsync.password
sending incremental file list
data/
data/aaa
data/bbb
data/ccc
data/ddd
data/eee
data/ssss
sent bytes received bytes 356.67 bytes/sec
total size is speedup is 0.00
5、通过排除文件推送数据
[root@nfs01 data]# cat /tmp/file.txt ssss eee g [root@nfs01 data]# ls a aaa b bbb c ccc ddd eee ssss [root@nfs01 data]# rsync -avz --exclude-from=/tmp/file.txt /data rsync_backup@172.16.2.41::backup/ --password-file=/etc/rsync.password sending incremental file list data/ data/a data/aaa data/b data/bbb data/c data/ccc data/ddd sent bytes received bytes 402.67 bytes/sec total size is speedup is 0.00
6、无差异同步(--delete)
注意:使用—delete选项,即本地有啥,远程存储节点就业啥,如果远程存储节点有别的数据。那么这些“别的数据”将全部被删除掉,所有慎用这个--delete选项。
#远端存储节点的数据如下
[root@backup01 backup]# ls
data
[root@backup01 backup]# ls data/
a aaa b bbb c ccc ddd
#本地数据如下
[root@nfs01 data]# ls
a b c d e f g
#本地数据推送到远程存储服务器
[root@nfs01 data]# rsync -avz --delete /data rsync_backup@172.16.2.41::backup/ --password-file=/etc/rsync.password
sending incremental file list
deleting data/ddd
deleting data/ccc
deleting data/bbb
deleting data/aaa
data/
data/a
data/b
data/c
data/d
data/e
data/f
data/g
sent bytes received bytes ,254.00 bytes/sec
total size is speedup is 0.00
#再次查看远程存储服务器的备份数据内容发现 {aaa bbb ccc}这三个文件被删除了
[root@backup01 backup]# ls
data
[root@backup01 backup]# ls data/
a b c d e f g
8.7 限制速度推送数据(--bwlimit=KBPS)
#未限速 [root@nfs01 data]# dd if=/dev/zero of=test1 bs=1M count= [root@nfs01 data]# rsync -avz /data rsync_backup@172.16.2.41::backup/ --password-file=/etc/rsync.password sending incremental file list data/ data/test1 sent , bytes received bytes ,783.09 bytes/sec total size is ,, speedup is ,026.07 #限速 [root@nfs01 data]# rsync -avz --bwlimit=10k /data rsync_backup@172.16.2.41::backup/ --password-file=/etc/rsync.password sending incremental file list data/ data/test1 sent , bytes received bytes ,689.41 bytes/sec total size is ,, speedup is ,026.07
Linux搭建rsync服务的更多相关文章
- [Linux] 搭建rsync服务端
rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输. Linux守护进程的运行方式:1.独立运行(stand-al ...
- Centos6.9 搭建rsync服务端与客户端 案例:全网备份项目
rsync的企业工作场景说明 1)定时备份 1.1生产场景集群架构服务器备份方案项目 借助cron+rsync把所有客户服务器数据同步到备份服务器 2)实时复制 本地数据传输模式(local-only ...
- 最全Linux搭建SVN服务端教程
文章首推 支付宝接口对接 高德地图调用 验证码登录 QQ邮箱登录 今日主题:Linux搭建SVN服务端 简介 相信程序员对SVN还是不陌生的,虽然现在用Git比较多,但是SVN也是用的,SVN可以做代 ...
- linux 搭建SVN服务端
搞了个服务器,然后现在想搞点事情,于是乎整个SVN在上面,算是熟悉下svn的操作过程 以下内容转载自: https://yq.aliyun.com/articles/6693 ------------ ...
- Linux搭建NFS服务
一.NFS服务简单介绍 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中, ...
- Linux搭建rsync备份服务器备份
环境: 1台rsync备份服务器,IP:10.0.0.188 1台rsync备份客户端,IP:10.0.0.51 备份数据需注意: 1. 在业务低谷时间进行备份 2. 进行备份限速 一.搭建rsync ...
- 搭建rsync服务(端口号873)
rsync详细参数 1.-v,--verbose 详细模式输出,传输是的进度信息 2.-z,--compress 传输是进行压缩以提高传输效率,--comperess -level = NUM可以按级 ...
- linux搭建apache服务并修改默认路径
该篇文章主要讲解如何在linux服务器上搭建apache服务器,并修改指定的apache路径到自定义路径下 一:检查服务器上是否已安装apache,停止并卸载系统自带apache服务 命令为:rpm ...
- Linux——搭建FTP服务
一.FTP基本概念: 1.FTP的作用: 实现文件系统的安全匿名访问:包括上传.下载和查看,可以应用于Windows和Linux系统 2.FTP的工作原理 server与client都支持ftp传输协 ...
随机推荐
- LVM术语及相互关系
*物理存储介质(PhysicalStorageMedia) 指系统的物理存储设备:磁盘,如:/dev/hda./dev/sda等,是存储系统最底层的存储单元. *物理卷(Physical Volume ...
- tcp和udp的网络编程(发送消息及回复)
一.UDP 无连接的 高效的 基于数据报的 不可靠 的连接 主要的应用场景: 需要资源少,网络情况稳定的内网,或者对于丢包不敏感的应用,比如 DHCP 就是基于 UDP 协议的.不需要一对一沟 ...
- 扛把子组20191031-8 alpha week 1/2 Scrum立会报告+燃尽图 06
此作业的要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9916 一.小组情况 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 ...
- 我的书籍《深入解析Java编译器:源码剖析与实例详解》就要出版了
一个十足的技术迷,2013年毕业,做过ERP.游戏.计算广告,在大公司呆过,但终究不满足仅对技术的应用,在2018年末离开了公司,全职写了一本书<深入解析Java编译器:源码剖析与实例详解> ...
- python3基础之 字符串切片
一.python3中,可迭代对象有:列表.元组.字典.字符串:常结合for循环使用:均可使用索引切片 实例: str = ' #str[start:stop:step] 遵循[左闭右开]规则 prin ...
- Oracle的高水位线
一.什么是水位线 所有的oracle段都会有一个在段内容纳数据的上线,把这个上限成为“high water mark”,这是一个标记,用来说明已经有多少没有使用的数据块分配给这个段,原则上high w ...
- java8 Optional优雅非空判断
java8 Optional优雅非空判断 import java.util.ArrayList;import java.util.List;import java.util.Optional; pub ...
- 推荐几个不错的console调试技巧
在我们的日常前端开发中,使用最频繁的莫过于使用console.log在浏览器的控制台中打印出我们需要调试的信息,但是大部分人可能跟之前的我一样,没有意识到其实console除了log方法以外,还有很多 ...
- python排序算法之一:冒泡排序(及其优化)
相信冒泡排序已经被大家所熟知,今天看了一篇文章,大致是说在面试时end在了冒泡排序上,主要原因是不能给出冒泡排序的优化. 所以,今天就写一下python的冒泡排序算法,以及给出一个相应的优化.OK,前 ...
- CentOS 7 ETCD集群配置大全
目录 前言 环境准备 安装 静态集群 配置 node01 配置文件 node02 配置文件 node03 配置文件 启动测试 查看集群状态 生成TLS证书 etcd证书创建 安装cfssl工具集 生成 ...