2018年5月8日 22:09:38

第一步配置基础环境(按照自己的规划配置并非每人的环境都一致)

第一台服务器(RSYNC服务器):
rsync外网地址:10.0.0.41 
rsync内网地址:172.16.1.41,网段配置为172.16.1.0
配置好双网卡,虚拟机第二块网卡配置为 LAN区段


第二台服务器(NFS服务器):
rsync外网地址:10.0.0.31 
rsync内网地址:172.16.1.31,网段配置为172.16.1.0
配置好双网卡,虚拟机第二块网卡配置为 LAN区段

前期基础优化:
SElinux 关闭  
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 

防火墙关闭
1. /etc/init.d/iptables stop 
2. chkconfig iptables --level 35 off
3. sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 

时间同步:
写入开机启动配置文件中
echo "/usr/sbin/ntpdate -u cn.pool.ntp.org >/dev/null 2>&1; /sbin/hwclock -w" >>/etc/rc.d/rc.local 

编写定时任务配置文件,定时同步
vi /etc/crontab

*/10 * * * * /usr/sbin/ntpdate time.windows.com >/dev/null 2>&1;/sbin/hwclock -w 

更新yum源:
更换yum源

1. 清除yum源缓存

yum clean all

2.备份yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

3.更换 centos 7源

下载新的源: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

4.添加epel源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

5.生成缓存

yum makecache


精简开机启动:
chkconfig|egrep -v "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"off"}'|bash

安装基础软件
yum install lrzsz nmap tree dos2unix nc -y

配置hosts文件(学习环境优化必备)
cat >/etc/hosts<<EOF

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

172.16.1.5 lb01

172.16.1.6 lb02

172.16.1.7 web01

172.16.1.8 web02

172.16.1.9 web03

172.16.1.51 db01

172.16.1.31 nfs01

172.16.1.41 backup

172.16.1.61 m01

172.16.1.62 jumpserver

EOF

激活双网卡
 
*###setup的启动网卡配置中 Controlled by NetworkManager 如果无法访问网络可以尝试去掉这个选选项 



-----------------基础环境完成

rsync服务开始:

1. 检查rsync是否安装:
rpm -qa rsync

2.添加rsync服务的用户,管理本地目录
useradd-s /sbin/nologin -M rsync

3.生成rsyncd.conf 配置文件(默认没有需要手动创建)
touch /etc/rsyncd.conf

4. 写入配置到 /etc/rsyncd.conf 文件中(rsync默认配置文件)
默认不存在需要自己创建,然后写入以下内容

-----------------------------------------------

#created by HQ at 2017 
##rsyncd.conf start## 
uid = rsync 
gid = rsync 
use chroot = no 
max connections = 200 
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 = 172.16.1.0/24 
hosts deny = 0.0.0.0/32 
auth users = rsync_backup 
secrets file = /etc/rsync.password 
[backup] 
comment = "backup dir by oldboy" 
path = /backup

#rsync_config 
---------------------------------------------------

5. 编写服务器端密码配置文件
echo "rsync_backup:123456" >/etc/rsync.password    ##服务端需要用户和密码,而客户端仅需要密码

6. 给创建的密码文件配置属性,以免被其他用户查看或修改
chmod 600 /etc/rsync.password

7.创建文件目录并且授权给rsync用户(用户推送数据或被拉取数据)
mkdir /bakcup -p
chown -R rsync.rsync /backup

8.启动服务并且检查服务是否启动
  rsync --daemon  服务器配置完成

9.加入到开机启动文件中,让其开机启动运行
echo "/usr/bin/rsync --daemon" >>/etc/rc.local

10 检查是否成功启动:

检查是否成功启动:lsof -i:873

[root@backup ~]# lsof -i:873 (进程启动成功,配置完成)

COMMANDPID USER FD TYPE DEVICE SIZE/OFF NODE NAME

rsync2002 root 4u IPv412746 0t0 TCP *:rsync (LISTEN)

rsync2002 root 5u IPv612747 0t0 TCP *:rsync (LISTEN)

----------------------------

配置完成后检查是否成功启动以及能否推送数据

需要用到客户端来实现推送拉取数据,所以还需要为客户端配置
客户端配置如下:
1. echo '123456' >/etc/rsync.password
2.chmod 600 /etc/rsync.password

客户端配置完成

测试数据的拉取或推送

客户端 输入密码的方式 拉取服务器数据:
rsync -avz rsync_backup@172.16.1.41::backup /backup
##因为模块定义的 [backup] = /backup  所以它拉取的数据就是 /bcakup/backup ,第二个backup实际上是[backup] 模块定义的

客户端 密码文件的方式 拉取服务器数据
rsync -avz rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password  /     
## " / " 代表拉取到本地根下,因为backup 这个模块中定义的就是 /bcakup 所以 即使拉到根目录下 它拉取的 目录 /backup 在 根下,如果写成 /bakcup下.那么它  /backup/+[backup]  就等于了  /backup/backup,所以最终它会拉取到 /backup/backup . 如果想拉取到/backup目录下,就只能定义为  /  根 
 
客户端 输入密码方式  将数据推送到服务器
rsync -avz /backup rsync_backup@172.16.1.41::backup

客户端 密码文件方式  将数据推送到服务器
rsync -avz /backup rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password


以上就是rsync的数据推拉和使用密码文件免输入密码的方式进行服务器数据备份的方法.


一些小问题的解答:
在客户端下查看到 backup 这个目录的 所属组和主变成了500 
[root@nfs01 /]# ls -ld /backup/
drwxr-xr-x 2 500 500 4096 May 8 21:53 /backup/

这是因为 rsync的虚拟用户原因 ,他没有家目录,只指定了uid=500  还记得前面的创建用户操作吗?

rsync服务搭建--2018.5.8 [优化后最终版]的更多相关文章

  1. rsync 服务搭建

    rsync 服务搭建 服务端部署操作内容: 创建rsync用户和用户组 eg: useradd -s /sbin/nologin -M rsync 创建需要备份的指定目录,并修改权限 eg: mkdi ...

  2. CentOS7 Rsync服务搭建-Rsync+Inotify架构实现实时同步

    一.rsync 概念 1.rsyncrsync是类unix/linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同 ...

  3. Rsync服务部署使用

    rsync服务搭建过程(daemon模式) 配置服务 在/etc/rsyncd.conf文件中写入相应的配置: uid = root gid = root use chroot = no max co ...

  4. Mysql查看优化后的SQL 语句

    EXPLAIN  EXTENDED 1先执行 EXPLAIN  EXTENDED 2 show warnings: EXPLAIN EXTENDED SELECT * FROM `receivable ...

  5. rsync实时备份备份服务搭建和使用指南

    一.Rsync企业工作场景说明: 1.利用定时任务+rsync方式实现数据同步 对于网站内部技术人员创建的数据,可以采取定时任务的方式 2.利用实时任务+rsync方式实现数据同步 对于网站外部访问用 ...

  6. 九、搭建备份服务器 使用rsync服务

    简介 Rsync是开源快速.多功能,可以实现全量和增量的本地或者远程数据同步备份的优秀工具.增量备份效率更高,可以同步内容也可以同步属性 [root@backup-41 ~]# rpm -qa rsy ...

  7. Centos6.9 搭建rsync服务端与客户端 案例:全网备份项目

    rsync的企业工作场景说明 1)定时备份 1.1生产场景集群架构服务器备份方案项目 借助cron+rsync把所有客户服务器数据同步到备份服务器 2)实时复制 本地数据传输模式(local-only ...

  8. Linux搭建rsync服务

    一.Rsync的简单介绍 Rsync是一款开源的.快速的.多功能的.可实现全量及增量(全量备份是指全部备份,增量备份是在上一次备份的基础上只备份更新的内容)的本地货远程数据同步备份的优秀工具.Rsyn ...

  9. [Linux] 搭建rsync服务端

    rsync是unix/linux下同步文件的一个高效算法,它能同步更新两处计算机的文件与目录,并适当利用查找文件中的不同块以减少数据传输. Linux守护进程的运行方式:1.独立运行(stand-al ...

随机推荐

  1. selenium -文件上传的实现 -对于含有input element的上传

    使用selenium做自动化时,我们经常会遇到的一个让人头疼的问题就是文件上传. 问题的难点在于selenium无法识别并操作Windows窗口,若我们可以绕过弹出框直接把文件信息上传给选择按钮,难点 ...

  2. xp远程桌面连接最大用户数怎么设置?

    1.首先到网上去百度下载“补丁UniversalTermsrvPatch”,这个补丁主要目的是在于去除“单用户登陆的限制”,允许多人多用户同时并行访问登录;2.然后根据自己的系统运行对应的程序:系统是 ...

  3. Centos 6.* / 7.*下通过yum安装php7

    查看 centos 版本 # cat /etc/centos-release 删除之前的 php 版本 # yum remove php* php-common rpm 安装 Php7 相应的 yum ...

  4. puclic 页面公共CSS样式

    body, div, dl, dt, dd, ul, ol, li, pre, form, fieldset, blockquote, h1, h2, h3, h4, h5, h6,p{ paddin ...

  5. HTML5 使用sessionStorage实现页面返回刷新

    需求:在某个列表页面跳转到增加新项目页面后需要返回到前一个页面 并且数据最新数据.刚开始是做法是 history.back();方法 返回后页面不会自动刷新的.在新的页面重新访问之前页面的链接可以访问 ...

  6. mysql之约束以及修改数据表

    数据约束的分类: ———————————————————————————————————————————————————— 外键约束的要求解析: //在my文件中的这句话代表着搜索引擎,如果不是的就需 ...

  7. @RequestParam注解的作用

    1.这个注解是干什么的??? 提取和解析请求参数的能力. 2.实例解析: a.代码 @Controller @RequestMapping("/pets") @SessionAtt ...

  8. Linux服务器防火墙白名单设置

    公司最近对网络安全抓的比较严,要求防火墙必须开启,但是项目的服务器有五六台,三台用于负载均衡,服务器之间必须要进行各种连接,那就只能通过添加白名单的方式. 登上服务器,编辑防火墙配置文件 vi /et ...

  9. CMake 自定义编译选项

    自定义编译选项 CMake 允许为项目增加编译选项,从而可以根据用户的环境和需求选择最合适的编译方案. 例如,可以将 MathFunctions 库设为一个可选库,如果该选项为 ON ,就使用该库定义 ...

  10. Python 之 文件处理

    文件操作: 文件路径:d:\文件名.txt 编码方式:utf-8.gbk 操作方式:只读.只写.追加.读写.写读... 只读:r    或     rb #相对路径 f=open("文件名& ...