今天继续给大家介绍Linux运维相关内容,本文主要内容是Rsync服务详解。

一、Rsync实战

接下来,我们选择使用两台设备进行Rysnc的备份实战。
设备一IP地址:192.168.136.101
设备二IP地址:192.168.136.210
我们现在要把设备一的/back-target/文件夹下的内容备份到设备二的/back-source/文件夹下,在设备一上开启Rsync服务。
设备一上配置文件/etc/rsyncd.conf如下所示:

uid = root
gid = root
address = 192.168.136.101
port = 873
hosts allow = 192.168.136.0/24
use chroot = yes
max connections = 3
pid file = /var/run/rsync.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log
[experiment]
path =/back-target/
comment = used for backup the upper fold
read only = false
list = yes
auth users = rsyncuser
secrets file = /etc/rsync.passwd

设备一上密码文件/etc/rsync.passwd如下所示:

rsyncuser:123456

在完成上述两个配置文件配置后,我们就可以开启rsync服务了,同时,为了使得备份正常,还需要对密码文件进行授权,并且关闭防火墙服务,相关配置命令如下所示:

rsync --daemon --config=/etc/rsyncd.conf
systemctl stop firewall
iptables -F
setenforce 0
chmod 600 /etc/rsync.passwd

这样做的好处是当提升了Rsync服务的安全性,当客户端需要进行Rsync备份时,可以使用配置文件中的模块名、用户名、密码,从而隐藏了真实的系统备份路径和真实的系统用户。设备二进行Rsync备份命令如下所示:

rsync -azv /back-source/ rsyncuser@192.168.136.101::experiment

其中@符号前面的用户名使用的是设备一的Rsync配置文件中的用户名,但是在设备一上并没有该用户名,相应的在执行该条命令在输入密码的时候,也是输入设备一配置文件/etc/rsync.passwd中指定的密码。IP地址后面的双冒号是固定格式,双冒号使用的是模块名,必须与配置文件中的模块名对应。上述命令执行过程如下所示:

更进一步,我们可以将密码写入配置文件中,并且在设备二上指定密码,这样有利于我们实现自动化。设备二的密码文件与设备一的密码文件略有不同,不是用户名:密码的格式,而是直接写入密码,在这个例子中,设备二的密码文件中写入内容为123456。将上述内容保存在配置文件(/etc/rsync.passwd)中,并且将该文件授予相应的权限(通常是700或600),之后将上述命令替换为:

rysnc -azv  /back-source/ rsyncuser@192.168.136.101:experiment --password-file=/etcrsync.passwd

这样,我们在进行rsync备份的时候,就不用继续输入密码了。

我们还可以将上述命令写入脚本,并做成定时任务,以实现网站脚本的自动备份。

二、Rysnc+sersync实战

在第四章介绍的实战中,我们已经能够实现当对关键目录数据进行定时备份了,但是对于一些更加重要的数据而言,可能还需要做到实时备份的水准,这时就要用到Rsync+sersync了。
sersync是基于inotify开发的,类似于inotify-tools的工具,它可以监控指定目录中文件发生的变化,然后调用rsync同步变化的文件。在使用Rsync+sersync架构时,需要在备份目的服务器上开启Rsync服务,在备份源服务器上运行sersync服务。
serysnc的官方下载链接为:https://sersync.googlecode.com/files/sersync2.5.4_64bit_binary_stable_final.tar.gz
但是有时我们可能无法从上述链接下载,国内有人也提供了相应的下载服务,下载地址为:
http://down.whsir.com/downloads/sersync2.5.4_64bit_binary_stable_final.tar.gz
(注:下载源来源于网络,无法保证安全性,请慎重访问!)

下载并解压后,可以看到压缩包内存在两个文件,一个是confxml.xml,还有一个是sersync2,第一个是sersync的配置文件,第二个是sersync的执行脚本文件。
要运行sersync,需要进入其配置文件,主要修改一下两处:
一是修改监听的本地目录和目的备份服务器的IP地址,其配置文件原有内容如下,红线部分为原有的配置文件内容。

修改完毕后,如下:

二是修改rsync备份所使用的用户名和密码,其配置文件原有内容如下,红线部分为原有的配置文件内容。

修改完毕后,如下:

在完成上述配置文件后,就可以启动sersync服务了,启动脚本如下:

 /root/GNU-Linux-x86/sersync2 -d -r -o /root/GNU-Linux-x86/confxml.xml

启动页面如下:

在完成上述操作后,我们可以去备份源目录下新创建文件,然后观察备份目的服务器下是否同步,如果文件自动同步,则证明我们的配置生效。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

Linux Rsync服务详解(二)——Rsync服务实战相关推荐

  1. Service 服务详解 及自定义服务模板

    文章目录 1.服务简介 2.服务的生命周期 1) Service 的 启动 停止 2).服务的生命周期的方法 3.使用startService 启动后服务的生命周期 1).文件结构 2) activi ...

  2. 奇小葩讲设备树(2/5)-- Linux设备树详解(二)文件构成

    设备树就是描述单板资源以及设备的一种文本文件.至于出现的原因,基本的语法和使用方法,上一章节做了基本的介绍.本篇文章主要是更深层次的探讨设备文件的构成. 1. devie tree的编译 Device ...

  3. Linux 网络编程详解二(socket创建流程、多进程版)

    netstat -na | grep "8080" --查看TCP/IP协议连接状态 //socket编程提高版--服务器 #include <stdio.h> #in ...

  4. SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动

    SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动 SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动 SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录 ...

  5. SSH服务详解(七)– SSH 连接 Github

    SSH 连接 Github SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动 SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录) SSH 服务详解 (三)-- 使用 S ...

  6. SSH 服务详解 (三)-- 使用 SSH 代理

    SSH 服务详解 (三)-- 使用 SSH 代理 SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动 SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录) SSH 服务详解 ...

  7. Windows XP服务详解

      Windows XP服务详解 微软的个人操作系统从Win98发展到WinXP,为什么突然变得那么消耗系统资源呢?以至于很多人都感觉WinXP只是高配置的电脑才能运行的操作系统,其实不然.WinXP ...

  8. linux中jstack命令详解,Linux jstack命令详解

    jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息. 如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack ...

  9. linux中umask的原理和作用,Linux 的umask详解

    1.由权限得到umask的值 umask是一个系统变量,是一个由3个八进制数字组成的值,具体含义见表:每个数字都是八进制值1.2.4的OR操作结果. 作用:当文件被创建时,为文件的访问权限设定一个掩码 ...

  10. linux ntpdate代码,Linux ntpdate命令详解

    ntpdate命令用于同步更新互联网时间,或者NTP服务器时间 NTP服务器[Network Time Protocol(NTP)]是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源 ...

最新文章

  1. 如何使用Azure ML Studio开启机器学习
  2. sed行处理详解(交换行,合并行,删除行等)
  3. mysql.net开发驱动_mysql数据库.net开发驱动(mysql connector net )
  4. Nginx的功能特性及常用功能
  5. 当Java 8 Streams API不够用时
  6. collection集合 多少钱_面试必备-Java集合框架
  7. 太原理工大学自考计算机应用难,太原理工大学人工智能精彩试题+问题详解
  8. Leetcode每日一题:1122.relative-sort-array(数组的相对排序)
  9. HttpClient4.3.x的连接管理
  10. 编码的法则:c++程序员不可不知的101条经验
  11. 电线电缆的基本测试方法
  12. Xftp6的安装与使用
  13. Ubuntu16 下载软件Aria2 全局配置方法(最全组合)
  14. Java 采用MD5加密解密
  15. PHP中的ereg()与eregi()
  16. IEEE Transactions on Intelligent Transportation Systems投稿记录
  17. 2022年江西省职业院校技能大赛“网络空间安全”比赛任务书
  18. matlab 三角函数 和差化积,三角函数中的和差化积公式编辑方法
  19. 解决TOC与目录导航冲突问题
  20. Word排版计算机类科研论文的格式保证

热门文章

  1. 利用python进行数据分析—七、绘图与可视化—matplotlib与seaborn
  2. 一文弄懂Java中的四种引用类型
  3. 入行Java能做什么?亿级畅销书作者李刚在线解答!
  4. 6个座位办公室最佳位置_6个办公室座位的最佳位置 六个最好的办公室座位位置...
  5. vba窗体 点击增加减少_EXCEL之VBA-窗体实例多页控件的基础应用
  6. 《高翔视觉slam十四讲》学习笔记 第六讲 非线性优化
  7. mysql比较两个表中count_mysql两个表统计查询问题?
  8. 阻止滑动事件_重温DOM事件流,捕获、冒泡、useCapture、passive
  9. 力扣-1464. 数组中两元素的最大乘积
  10. 你不能访问此文件夹,因为你组织的安全策略阻止了未经身份验证的来宾访问