[svc]rsync简单部署
安装rsync服务端-backup服务器
yum install rsync -y
useradd rsync -s /sbin/nologin -M
chown -R rsync.rsync /data
cat >/etc/rsyncd.conf<<EOF
uid = rsync
gid = rsync
use chroot = no
max connections = 100
timeout = 300
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
ignore errors
read only = false
list = false
hosts allow = 192.168.2.0/24
hosts deny = 0.0.0.0/32
auth users = rsync_backup
secrets file = /etc/rsync.password
[data]
path=/data
EOF
echo "rsync_backup:123456" > /etc/rsync.password
chmod 600 /etc/rsync.password
mkdir /data
chown  -R rsync.rsync /data
rsync --daemon #启动
rsync --daemon --address=192.168.2.11
pkill rsync
kill –USR2 `cat /var/run/rsyncd.pid` #优雅关闭
kill -HUP `cat /var/run/rsyncd.pid`
- 客户端: 执行推拉操作
yum install rsync -y
echo "123456" >/etc/rsync.password
chmod 600 /etc/rsync.password
rsync -avz rsync_backup@192.168.2.11::data /data #会提示密码
                                      模块名
- 拉取
rsync -avz rsync_backup@192.168.2.11::data /data --password-file /etc/rsync.password
- 推送(到备份服务器-rsync服务端)
rsync -avz /data rsync_backup@192.168.2.11::data --password-file /etc/rsync.password
- 排除单个文件
rsync -avz /data/ --exclude=a.log rsync_backup@192.168.2.11::data --password-file=/etc/rsync.password
- 排除多个文件
rsync -avz /data/ --exclude={1.md,2.md,3.md} rsync_backup@192.168.2.11::data --password-file=/etc/rsync.password
rsync -avz /data1/ --exclude={a..g}.txt rsync_backup@192.168.2.11::data --password-file=/etc/rsync.password
--exclude-from
[root@sshserver2 /]# cat paichu.log
1
2
rsync -avz /data/ --exclude-from=paichu.log rsync_backup@192.168.2.11::data  --password-file=/etc/rsync.password
man rsyncd.conf # 查看配置选项
man rsync       # 查看启动参数
[root@B-BackUP ~]# netstat -ntulp |grep rsync
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      1637/rsync
tcp        0      0 :::873                      :::*                        LISTEN      1637/rsync
配置小结
rsync server:
1,vim /etc/rsyncd.conf(用户rsync, 模块,目录,非系统虚拟用户 及密码文件)
2,创建共享目录 /data
3,创建rsync用户并授权访问/data
4,创建密码文件,复制配置文件里的路径,然后添加密码内容
  内容:虚拟用户名:密码
5,密码文件权限 600
6,rsync –daemon  然后放入 /etc/rc.local
7,tail /var/log/rsyncd.log  #看日志
rsync客户端-执行推拉操作
1,密码文件和服务端没任何关系. --password-file=/etc/rsync.password,内容仅包含密码
2, /etc/rsync.password 600
rsync.conf配置说明
| rsyncd.conf参数 | 参数说明 | 
|---|---|
| uid=rsync | rsync使用的用户。 | 
| gid=rsync | rsync使用的用户组(用户所在的组) | 
| use chroot=no | 如果为true,daemon会在客户端传输文件前“chroot to the path”。这是一种安全配置,因为我们大多数都在内网,所以不配也没关系 | 
| max connections=200 | 设置最大连接数,默认0,意思无限制,负值为关闭这个模块 | 
| timeout=400 | 默认为0,表示no timeout,建议300-600(5-10分钟) | 
| pid file | rsync daemon启动后将其进程pid写入此文件。如果这个文件存在,rsync不会覆盖该文件,而是会终止 | 
| lock file | 指定lock文件用来支持“max connections”参数,使得总连接数不会超过限制 | 
| log file | 不设或者设置错误,rsync会使用rsyslog输出相关日志信息 | 
| ignore errors | 忽略I/O错误 | 
| read only=false | 指定客户端是否可以上传文件,默认对所有模块为true | 
| list=false | 是否允许客户端可以查看可用模块列表,默认为可以 | 
| hosts allow | 指定可以联系的客户端主机名或和ip地址或地址段,默认情况没有此参数,即都可以连接 | 
| hosts deny | 指定不可以联系的客户端主机名或ip地址或地址段,默认情况没有此参数,即都可以连接 | 
| auth users | 指定以空格或逗号分隔的用户可以使用哪些模块,用户不需要在本地系统中存在。默认为所有用户无密码访问 | 
| secrets file | 指定用户名和密码存放的文件,格式;用户名;密码,密码不超过8位 | 
| [backup] | 这里就是模块名称,需用中括号扩起来,起名称没有特殊要求,但最好是有意义的名称,便于以后维护 | 
| path | 这个模块中,daemon使用的文件系统或目录,目录的权限要注意和配置文件中的权限一致,否则会遇到读写的问题 | 
排错
1,防火墙和selinux
2,/var/log/rsyncd.log
3,整个部署流程整体考虑排查
4,操作习惯
1,部署流程熟练
2,原理理解
3,学会看日志,命令行输入rsync命令.日志输入/var/log/rsyncd.log
会部署 会原理 会看日志
服务端没目录
服务端目录没授权
服务器rsync.password 权限问题
No route 防火墙问题
无差异备份:企业里要求数据一模一样
rsync推送企业工作常见:
--delete有风险: 一般不要用
本地有啥,远端就有啥,本地没有的远端有也要删除.远端的目录数据可能丢失.
rsync -avz --delete rsync_backup@192.168.2.11::data /data1/ --password-file=/etc/rsync.password
--delete # 除非实在没办法在用,一般别用.
万一要用:
推送: 先备份远端,然后再执行
拉取: 先备份本地然后再执行
全网备份引子
[root@C-NFS scripts]# cat back.sh
#bin/sh
dir="`ifconfig eth0|awk -F '[ :]+' 'NR==2 {print $4}'`_$(date +%F)"
mkdir /backup/$dir_ -p &&\
/bin/cp /var/spool/cron/root /backup/$dir/cron_root_$(date +%F) &&\
/bin/cp /etc/rc.local /backup/$dir/rc.local_$(date +%F) &&\
rsync -az /backup/ rsync_backup@192.168.2.11::backup/ --password-file=/etc/rsync.password
- 追加定时任务
[root@C-NFS scripts]# crontab –e
#############
00 01 * * *  /bin/sh /root/shell/back.sh >/dev/null 2>&1
说明:
1,和别的时间错开,不一定晚上12点.
2,这样就实现全网备份
3,如同黄雀一样,rsyncbackup服务器后还有rsyncserver来备份他自己的数据,根据公司规模来.
企业面试题:
老板让备份 web server本地保留7天备份  backup服务器180天.
为了避免搭建rsync服务端
1.打包 scp过去
2,解压 rsync -a src/ dst/
rsync -a src/ dst/  ## 同步目录一定要加斜线
rsync -a src dst # 是错误的
												
											[svc]rsync简单部署的更多相关文章
- Ceph分布式存储-原理介绍及简单部署
		
1)Ceph简单概述Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目.Ceph源码下载:http://ceph.com/download/.随着云计算的发 ...
 - Rsync同步部署web服务端配置
		
Rsync同步部署web服务端配置 1,参数详解: -v, --verbose 详细模式输出. -q, --quiet 精简输出模式. -c, --checksum 打开校验开关,强制对文件传输进行校 ...
 - XenApp简单部署
		
作者:MR.Yangwj 目录 XenApp简单部署... 1 一. XenApp安装... 1 (一) 服务器配置任务... 9 1) 许可证服务器配置... 9 ...
 - mongodb 简单部署方案及实例
		
mongodb 简单部署方案及实例 转载:http://my.oschina.net/zhuzhu0129/blog/53290 第一节 准备工作 一 安装mongodb 我这里选用rehl 5.6 ...
 - Glue4Net简单部署基于win服务的Socket程序
		
smark 专注于高并发网络和大型网站架规划设计,提供.NET平台下高吞吐的网络通讯应用技术咨询和支持 Glue4Net简单部署基于win服务的Socket程序 在写一些服务应用的时候经常把要它部署到 ...
 - SQL Server中的变更捕获技术--简单部署
		
------准备------ CREATE DATABASE db_test_cdc ,) ,name )); INSERT INTO t1(name)VALUES('test') ------开始- ...
 - Tomcat_记一次tomcatwar包应用简单部署过程
		
记一次tomcat war包应用简单部署过程 by:授客 QQ:1033553122 1. 实践环境 Linux apache-tomcat-7.0.73 2. 实践步骤 # 解压tomcat压缩 ...
 - WebStorm 简单部署服务器进行测试操作
		
WebStorm 简单部署服务器对外发布接口 第一步: 查看webstorm防火墙是否允许链接,控制面板-->防火墙-->高级设置 入站规则-->webstrom是否允许链接 ,双击 ...
 - nginx之旅:安装及简单部署
		
安装之前最好了解一下nginx,参考nginx百度百科吧,下面这一句话基本概括了nginx的基本功能 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 ...
 
随机推荐
- JVM GC-----4、finalize()方法
			
finalize()方法是Object类中定义的protect方法.每一个类都可以重写该方法,给出自己的实现.当类在被回收期间,这个方法就可能会被调用到. 为什么说可能?这是由于finalize()的 ...
 - drupal8
			
创建drupal的博客教程地址 区域:主题中必须定义 content 区域:因为内容(文章列表)就在content区域 定义成区块的时候可以将试图的区块放在内容区域里面: 视图通过区块和页面来显示在页 ...
 - hdu1269 有向图强连通 【Tarjan】(模板)
			
<题目链接> 题目大意: 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称 ...
 - Python - 经典程序示例
			
列表排序 def que6(): # 6.输入三个整数x, y, z,形成一个列表,请把这n个数由小到大输出. # 程序分析:列表有sort方法,所以把他们组成列表即可. li = np.random ...
 - 条件随机场之CRF++源码详解-预测
			
这篇文章主要讲解CRF++实现预测的过程,预测的算法以及代码实现相对来说比较简单,所以这篇文章理解起来也会比上一篇条件随机场训练的内容要容易. 预测 上一篇条件随机场训练的源码详解中,有一个地方并没有 ...
 - CSS之文本溢出隐藏,不定宽高元素垂直水平居中、禁止页面文本复制
			
1.如何让不固定元素宽高的元素垂直水平居中 .center { position: absolute; top: 50%; left: 50%; background-color: #000; wid ...
 - C++泛型线性查找算法——find
			
C++泛型线性查找算法--find <泛型编程和STL>笔记及思考. 线性查找可能是最为简单的一类查找算法了.他所作用的数据结构为一维线性的空间.这篇文章主要介绍使用 C++ 实现泛型算法 ...
 - 13,EasyNetQ-错误条件
			
在本节中,我们将看看任何消息系统中可能出现的各种错误情况,并查看EasyNetQ如何处理它们. 1,我的订阅服务死亡 你已经写了一个订阅了我的NewCustomerMessage的windows服务. ...
 - BZOJ 4805: 欧拉函数求和 杜教筛
			
https://www.lydsy.com/JudgeOnline/problem.php?id=4805 给出一个数字N,求sigma(phi(i)),1<=i<=N https://b ...
 - 卡特兰数 Catalan 笔记
			
一.公式 卡特兰数一般公式 令h(0)=1,h(1)=1,catalan数满足递推式.h(n) = h(0)*h(n-1)+h(1)*h(n-2) + ... + h(n-1)h(0) (n>= ...