安装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简单部署的更多相关文章

  1. Ceph分布式存储-原理介绍及简单部署

    1)Ceph简单概述Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目.Ceph源码下载:http://ceph.com/download/.随着云计算的发 ...

  2. Rsync同步部署web服务端配置

    Rsync同步部署web服务端配置 1,参数详解: -v, --verbose 详细模式输出. -q, --quiet 精简输出模式. -c, --checksum 打开校验开关,强制对文件传输进行校 ...

  3. XenApp简单部署

    作者:MR.Yangwj 目录 XenApp简单部署... 1 一.         XenApp安装... 1 (一)      服务器配置任务... 9 1)     许可证服务器配置... 9 ...

  4. mongodb 简单部署方案及实例

    mongodb 简单部署方案及实例 转载:http://my.oschina.net/zhuzhu0129/blog/53290 第一节 准备工作 一 安装mongodb  我这里选用rehl 5.6 ...

  5. Glue4Net简单部署基于win服务的Socket程序

    smark 专注于高并发网络和大型网站架规划设计,提供.NET平台下高吞吐的网络通讯应用技术咨询和支持 Glue4Net简单部署基于win服务的Socket程序 在写一些服务应用的时候经常把要它部署到 ...

  6. SQL Server中的变更捕获技术--简单部署

    ------准备------ CREATE DATABASE db_test_cdc ,) ,name )); INSERT INTO t1(name)VALUES('test') ------开始- ...

  7. Tomcat_记一次tomcatwar包应用简单部署过程

    记一次tomcat war包应用简单部署过程 by:授客 QQ:1033553122 1.  实践环境 Linux apache-tomcat-7.0.73 2.  实践步骤 # 解压tomcat压缩 ...

  8. WebStorm 简单部署服务器进行测试操作

    WebStorm 简单部署服务器对外发布接口 第一步: 查看webstorm防火墙是否允许链接,控制面板-->防火墙-->高级设置 入站规则-->webstrom是否允许链接 ,双击 ...

  9. nginx之旅:安装及简单部署

    安装之前最好了解一下nginx,参考nginx百度百科吧,下面这一句话基本概括了nginx的基本功能 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理  ...

随机推荐

  1. 6-2 铁轨 uva 514

    较为简单的stack题目 但是还是犯了一些错误: 1. 要想清空栈,直接重新定义较为方便! 2.在if(s.top()==x)时  加上  !s.empty()  否则程序会崩溃 3. 必须要加上i- ...

  2. 51Nod-1006【LCS】+【输出路径】模板题

    题目链接:https://vjudge.net/contest/225715#problem/B 转载于>>> 题目大意: 给出两个序列,要求输出它们的最长公共子序列. 解题思路: ...

  3. 障碍路线Obstacle Course

    P1649 [USACO07OCT]障碍路线Obstacle Course 裸的dfs,今天学了一个新招,就是在过程中进行最优性减枝. #include<bits/stdc++.h> us ...

  4. Android高效内存2:让图片占用尽可能少的内存

    Android高效内存:让图片占用尽可能少的内存 一.让你的图片最小化 1.1 大图小图内存使用情况对比 大图:440 * 336    小图:220 * 168 资源目录:xhdpi 小图的高宽都是 ...

  5. IntelliJ IDEA 2018.3 重大升级(转)

    |0前言 2018.11.28 IntelliJ IDEA 2018.3 正式版发布.对于一个忠实爱好者,迫不及待的我下载了最新版本来体验下.而且 IDEA 今年的第三次重大更新提供了不容错过的显著功 ...

  6. MacBook快速入门

    入职新美大,全面进入Mac工作环境,果断"撸起袖子加油干","浪起来,逼格提起来".顺道提一嘴,这边的兄弟们的干劲是真心足,作为一名老兵痞,必须要虚心向身边NX ...

  7. Orleans逐步教程

    参考文档:https://dotnet.github.io/orleans/Tutorials/index.html 一.通过模板创建Orleans ①下载vs插件:https://marketpla ...

  8. C# JSON帮助类(可互转)

    public class JsonHelper { public JsonHelper() { // // TODO: Add constructor logic here // } /// < ...

  9. Java 之递归遍历目录

    Java 之递归遍历目录 一.内容 输出指定目录(文件夹)下的所有文件(包括目录)的绝对路径 二.源代码:RecursiveListDirectory.java package cn.com.zfc. ...

  10. 4558: [JLoi2016]方

    4558: [JLoi2016]方 https://lydsy.com/JudgeOnline/problem.php?id=4558 分析: 容斥原理+各种神奇的计数. 如果没有被删除了的点的话,直 ...