[svc]rsync简单部署
安装rsync服务端-backup服务器
yum install rsync -yuseradd rsync -s /sbin/nologin -M
chown -R rsync.rsync /datacat >/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.logignore 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
EOFecho "rsync_backup:123456" > /etc/rsync.password
chmod 600 /etc/rsync.passwordmkdir /data
chown -R rsync.rsync /datarsync --daemon #启动
rsync --daemon --address=192.168.2.11pkill 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.passwordrsync -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.passwordrsync -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
2rsync -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天.
[svc]rsync简单部署相关推荐
- lvs直接路由模式简单部署
环境: 负载均衡服务器:192.168.137.177,192.168.137.178 VIP:192.168.137.176 真实服务器:192.168.137.179,192.168.137.18 ...
- 使用 MDT2008 轻量部署进行 Windows XP SP2 简单部署
使用 MDT2008 轻量部署进行 Windows XP SP2 简单部署 [url]http://www.yangzhip.net.cn/article.asp?id=12[/url] 转载于:ht ...
- VMware vSphere 6简单部署---VCSA( vCenter Server Appliance)部署
VMware vSphere 6简单部署---VCSA( vCenter Server Appliance)部署 http://wangzhijian.blog.51cto.com/6427016/1 ...
- Windows server 2016简单部署DNS服务,正向查找和委派
Windows server 2016简单部署DNS服务,正向查找和委派 https://blog.51cto.com/14156658/2355372?source=dra 在配置DNS之前要准备一 ...
- (一)Gluster 介绍及简单部署
Gluster是一个可扩展的分布式文件系统,它将来自多个服务器的磁盘存储资源聚合到单个全局命名空间中. 一.介绍 能够支持扩展到几PB 支持数千的客户端 兼容POSIX Uses commodity ...
- Compound学习(二) 简单部署
Compound学习(二) 简单部署 Compound 是 DeFi 的明星项目之一,定位于去中心化的借贷协议.可以称之为"去中心化的算法银行".Compound 协议是为了开放金 ...
- 微服务nacos简单部署+网关设置+日志管理
目录 1.nacos简单部署 2.网关设置 3日志管理. 1.nacos简单部署 nacos引用的主要依赖是然后在配置文件进行注册(需要提前启动nacos插件,默认密码都是nacos) <dep ...
- Docker简单部署mysql并导入SQL文件
1.mysql简单部署在docker上 部署: docker run -d --name mysql \--restart=always \-p 3306:3306 \-v mysql:/etc/my ...
- hexo简单部署(一次解决hexo测试+上传github问题)
文章目录 Windows hexo本地部署+测试(上传前准备) git安装 Node.js安装 安装hexo以及本地测试 创建hexo所需文件 SSL证书报错 主题调试 上传GitHub git添加远 ...
最新文章
- 【JDBC 报错】Connections could not be acquired from the underlying database!
- 如何在Keras中检查深度学习模型(翻译)
- 编译安装appach遇到的那些事
- php处理json请求(php获取post请求的json数据的实现方法)
- 匿名类、包、权限修饰符_DAY10
- asp.net中,%#%,%=%和%%分别是什么意思,有什么区别
- php易错,PHP学习1:几种常见数据类型及其易错点
- Spring入门学习手册 6:Spring MVC基础中的基础
- java 百度地图返回坐标_Java使用百度地图API,根据地址,查询地址坐标。
- Spring Boot 应用上传文件时报错
- 站群优化及优化技巧解析
- 【BZOJ】2078: [POI2004]WYS
- (附源码)Springboot小型仪器公司生产管理系统 毕业设计 031853
- Android 人脸识别 活体检测 人脸对比
- SAM-BA 2.14 reconfiguration----DIY你的sam-ba
- Libreoffice命令行实现office转pdf(Windows、Linux)
- eNSP综合实验——简易园区网的搭建
- threejs + 3dmax 烘培模型展示效果
- nginx—动静分离
- socket套接字各个接口
热门文章
- 蛋糕连锁店网站管理系统v1.5.1-企业建站系统源码
- 小程序开发配置接口域名提示:不在以下 request 合法域名列表中,请参考文档
- 2022年全新美观的春节倒计时代码
- 星益云聚合收银台系统
- RabbitMQ入门学习系列(二),单生产者消费者
- window下版本控制工具Git 客户端安装
- 同一主机上WordPress博客更换域名简易八步骤(2)
- Node.js: 如何退出node命令或者node server
- Mysql: LBS实现查找附近的人 (两经纬度之间的距离)
- VScode配置java开发环境