• day 31 综合架构实时同步服务


    1.实时同步服务应用原因

      因为用户上传的数据信息需要实时备份保存.采用定时任务进行备份的话,只能备份每分钟的数据,分钟以内的数据会丢失,所以会引入实时同步服务

    2.实时同步服务的原理

      01.需要部署好rsync守护进程服务.实现数据的传输备份

      02.需要部署好inotify服务,实现目录中数据变化实时监测

      03.需要将rsync和inotify服务建立联系,将变化的数据进行实时备份传输

      

      存储服务器和备份服务器之间利用rsync进行数据的传输备份,inotify负责监控指定存储目录的数据变化,sersync结合两者实现实时数据变化同步服务

    3.实时同步服务部署

      1.部署好rsync守护进程服务

        服务端配置操作

          步骤一:下载安装软件 rsync  

    [root@backup ~]#  rpm -qa rsync
    [root@backup ~]#  yum install -y rsync
    Loaded plugins: fastestmirror
    Determining fastest mirrors
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    base                                                                                        | 3.6 kB  00:00:00     
    epel                                                                                        | 4.7 kB  00:00:00     
    extras                                                                                      | 2.9 kB  00:00:00     
    updates                                                                                     | 2.9 kB  00:00:00     
    (1/4): extras/7/x86_64/primary_db                                                           | 206 kB  00:00:00     
    (2/4): epel/x86_64/updateinfo                                                               | 1.0 MB  00:00:00     
    (3/4): updates/7/x86_64/primary_db                                                          | 3.8 MB  00:00:01     
    (4/4): epel/x86_64/primary_db                                                               | 6.9 MB  00:00:01     
    Resolving Dependencies
    --> Running transaction check
    ---> Package rsync.x86_64 0:3.1.2-10.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ===================================================================================================================
     Package                  Arch                      Version                          Repository               Size
    ===================================================================================================================
    Installing:
     rsync                    x86_64                    3.1.2-10.el7                     base                    404 k
    
    Transaction Summary
    ===================================================================================================================
    Install  1 Package
    
    Total download size: 404 k
    Installed size: 815 k
    Downloading packages:
    rsync-3.1.2-10.el7.x86_64.rpm                                                               | 404 kB  00:00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
    Warning: RPMDB altered outside of yum.
    ** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:
    git-1.8.3.1-13.el7.x86_64 has missing requires of rsync
      Installing : rsync-3.1.2-10.el7.x86_64                                                                       1/1 
      Verifying  : rsync-3.1.2-10.el7.x86_64                                                                       1/1 
    
    Installed:
      rsync.x86_64 0:3.1.2-10.el7                                                                                      
    
    Complete!

          步骤二:编写配置文件

    [root@backup ~]#  vim /etc/rsyncd.conf
    #ted by HQ at 2017
    #rsyncd.conf start###     
    uid=rsync
    gid=rsync
    port=873
    fake super=yes
    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服务虚拟用户

    [root@backup ~]#  id rsync
    uid=2008(rsync) gid=2008(rsync) groups=2008(rsync)
    [root@backup ~]#  useradd rsync -M -s /sbin/nologin  #创建虚拟用户
    useradd: user 'rsync' already exists          #虚拟用户已创建
    [root@backup ~]#  id rsync 
    uid=2008(rsync) gid=2008(rsync) groups=2008(rsync)
    [root@backup ~]#  grep rsync /etc/passwd
    rsync:x:2008:2008::/home/rsync:/sbin/nologin
    [root@backup ~]#  grep rsync /etc/shadow
    rsync:!!:18450:0:99999:7:::
    [root@backup ~]#  

          步骤四:创建备份目录,修改属主属组信息

    [root@backup ~]#  mkdir /backup
    mkdir: cannot create directory ‘/backup’: File exists
    [root@backup ~]#  chown rsync.rsync /backup
    [root@backup ~]#  ll -d /backup/
    drwxr-xr-x 4 rsync rsync 56 Jul 14 22:54 /backup/

          步骤五:创建备份服务认证密码文件

    [root@backup ~]#  cat /etc/rsync.password            #echo "rsync_backup:oldboy123" > /etc/rsync.password 
    rsync_backup:oldboy123
    [root@backup ~]#  ll //etc/rsync.password            #chmod 600 /etc/rsync.password
    -rw------- 1 root root 23 Jul  7 22:02 //etc/rsync.password
    [root@backup ~]#  

           步骤六:启动rsync服务

    root@backup ~]#  systemctl start rsyncd
    [root@backup ~]#  systemctl enable rsyncd
    Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service. 

        客户端配置操作

           步骤一:下载安装软件

    [root@nfs01 ~]#  rpm -qa rsync          # yum install -y rsync
    rsync-3.1.2-4.el7.x86_64
     

           步骤二:创建传输时认证的密码文件

    [root@nfs01 ~]#  cat /etc/rsync.password 
    oldboy123
    [root@nfs01 ~]#  ll /etc/rsync.password
    -rw------- 1 root root 10 Jul  7 22:23 /etc/rsync.password
    [root@nfs01 ~]# 

           步骤三:进行免交互数据传输备份

    [root@nfs01 ~]# rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

      2.部署inotify监控服务

        步骤一:下载安装软件

    [root@nfs01 ~]#  yum install -y inotify-tools
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    base                                                                                        | 3.6 kB  00:00:00     
    epel                                                                                        | 4.7 kB  00:00:00     
    extras                                                                                      | 2.9 kB  00:00:00     
    updates                                                                                     | 2.9 kB  00:00:00     
    (1/2): epel/x86_64/updateinfo                                                               | 1.0 MB  00:00:00     
    (2/2): epel/x86_64/primary_db                                                               | 6.9 MB  00:00:01     
    Package inotify-tools-3.14-9.el7.x86_64 already installed and latest version
    Nothing to do
    [root@nfs01 ~]#  rpm -qa inotify
    [root@nfs01 ~]#  rpm -ql inotify 
    package inotify is not installed
    [root@nfs01 ~]#  yum install -y inotify
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    No package inotify available.
    Error: Nothing to do
    [root@nfs01 ~]#  rpm -qa inotify-tools
    inotify-tools-3.14-9.el7.x86_64

        步骤二:熟悉命令的使用

    [root@nfs01 ~]#  rpm -ql inotify-tools
    /usr/bin/inotifywait                  #监控目录数据信息变化
    /usr/bin/inotifywatch                  #对监控的变化信息进行统计
    /usr/lib64/libinotifytools.so.0
    /usr/lib64/libinotifytools.so.0.4.1
    /usr/share/doc/inotify-tools-3.14
    /usr/share/doc/inotify-tools-3.14/AUTHORS
    /usr/share/doc/inotify-tools-3.14/COPYING
    /usr/share/doc/inotify-tools-3.14/ChangeLog
    /usr/share/doc/inotify-tools-3.14/NEWS
    /usr/share/doc/inotify-tools-3.14/README
    /usr/share/man/man1/inotifywait.1.gz
    /usr/share/man/man1/inotifywatch.1.gz

        inotifywait 命令使用方法:

          innotify [参数] 监控的目录    

    [root@nfs01 ~]#  inotifywait -h-m|--monitor                   #实现一直监控目录的数据变化-r|--recursive                  #进行递归监控(监控子目录及以下目录数据变化)-q|--quiet                           #尽量减少信息的输出(-v相反)
        --format <fmt>                  #指定输出信息的格式--timefmt <fmt>                  #指定输出的时间信息格式-e                         #指定监控的时间信息

        创建文件进行数据监控:

    [root@nfs01 /date]#  touch  01.txt
    [root@nfs01 ~]#  inotifywait -m /date 
    Setting up watches.
    Watches established.
    /date/ CREATE 01.txt            #创建文件
    /date/ OPEN 01.txt              #打开文件
    /date/ ATTRIB 01.txt              #修改文件属性
    /date/ CLOSE_WRITE,CLOSE 01.txt        #保存并关闭文件

        删除文件进行数据监控:

    [root@nfs01 /date]#  rm -rf 01.txt
    
    /date/ DELETE 01.txt             #相对于创建文件来说,删除文件步骤比较简单,直接删除即可

        修改文件进行数据监控:

    [root@nfs01 /date]#  echo 123 > 02.txt
    
    /date/ CREATE 02.txt             #创建文件
    /date/ OPEN 02.txt               #打开文件
    /date/ MODIFY 02.txt              #修改文件内容
    /date/ CLOSE_WRITE,CLOSE 02.txt        #保存并关闭文件

        衍生:我们可以利用监控服务查看sed命令修改文件的原理(步骤)

    [root@nfs01 /date]#  sed -i 's#123#321#g' 02.txt 
    
    /date/ OPEN 02.txt               #打开文件
    /date/ CREATE sed4bpGiW            #创建一个临时文件
    /date/ OPEN sed4bpGiW              #打开临时文件
    /date/ ACCESS 02.txt              #读取源文件的内容
    /date/ MODIFY sed4bpGiW            #修改临时文件内容
    /date/ ATTRIB sed4bpGiW            #修改临时文件属性
    /date/ CLOSE_NOWRITE,CLOSE 02.txt      #不编辑直接关闭源文件
    /date/ CLOSE_WRITE,CLOSE sed4bpGiW      #编辑关闭临时文件
    /date/ MOVED_FROM sed4bpGiW          #将临时文件移出
    /date/ MOVED_TO 02.txt             #移入到新的02.txt文件

        inotifywait监控命令操作演示:

    [root@nfs01 /date]#  touch ./date1/{05..10}.txt
    [root@nfs01 ~]#  inotifywait -mrq --timefmt "%F %T" --format "%T %w %f 事件信息:%e" /date -e CREATE
    2020-08-09 21:24:20 /date/date1/ 05.txt 事件信息:CREATE
    2020-08-09 21:24:20 /date/date1/ 06.txt 事件信息:CREATE
    2020-08-09 21:24:20 /date/date1/ 07.txt 事件信息:CREATE
    2020-08-09 21:24:20 /date/date1/ 08.txt 事件信息:CREATE
    2020-08-09 21:24:20 /date/date1/ 09.txt 事件信息:CREATE

    -r  实现了递归监控.子目录中的数据变化也监控了
    -q  减少了监控信息中会出现的Setting up watches. Watches established.信息
    --timefmt  调用了时间函数信息.在监控的信息中显示了日期和时间
    --format  将目录和文件即输入的内容都显示在了监控信息中
    -e  指定了要监控的事件,上述要将监控的事件是创建

        在实际应用中.我们只要监控以下事件就能满足需求

        create创建、delete删除、moved_to移入、close_write修改     

      企业应用:防止系统重要文件被破坏

      需要用到inotify进行实时监控. /etc   /etc/passwd   /var/spool/cron/root   等等重要文件

      3.部署sersync同步服务

        步骤一:下载安装软件,注意此软件通过yum是无法下载的,因为软件是个人开发者编写的一款实用工具,需要到特定网址下载https://github.com/wsgzao/sersync

        

          步骤二:创建一个目录,下载的软件都放到此目录中,通过rz 命令将软件上传到linux服务器上

    [root@nfs01 ~]#  mkdir -p /server/tools
    [root@nfs01 ~]#  cd /server/tools/
    [root@nfs01 /server/tools]#  rz -y
    
    [root@nfs01 /server/tools]#  ll 
    total 1936
    -rw-r--r-- 1 root root 1981010 Aug  9 21:48 sersync-master.zip
    [root@nfs01 /server/tools]#  

         步骤三:解压软件压缩包,并保存数据

    [root@nfs01 /server/tools]#  ll 
    total 1936
    -rw-r--r-- 1 root root 1981010 Aug  9 21:48 sersync-master.zip            #软件压缩包
    [root@nfs01 /server/tools]#  unzip sersync-master.zip                  #zip的压缩包利用unzip命令进行解压缩
    Archive:  sersync-master.zip
    e6e4cda2583a73a5581d7015255838b5e68673c6
       creating: sersync-master/
      inflating: sersync-master/.gitattributes  
      inflating: sersync-master/.gitignore  
      inflating: sersync-master/README.md  
      inflating: sersync-master/inotify-tools-3.14.tar.gz  
     extracting: sersync-master/rsync-3.1.1.tar.gz  
      inflating: sersync-master/sersync2.5.4_64bit_binary_stable_final.tar.gz  
    [root@nfs01 /server/tools]#  ll 
    total 1936
    drwxr-xr-x 2 root root     175 Aug 14  2015 sersync-master               #解压后的数据
    -rw-r--r-- 1 root root 1981010 Aug  9 21:48 sersync-master.zip
    [root@nfs01 /server/tools]#  tree sersync-master
    sersync-master
    ├── inotify-tools-3.14.tar.gz
    ├── README.md
    ├── rsync-3.1.1.tar.gz
    └── sersync2.5.4_64bit_binary_stable_final.tar.gz
    
    0 directories, 4 files
    [root@nfs01 /server/tools]#  cd sersync-master/
    [root@nfs01 /server/tools/sersync-master]#  ll
    total 1948
    -rw-r--r-- 1 root root 358772 Aug 14  2015 inotify-tools-3.14.tar.gz
    -rw-r--r-- 1 root root  10838 Aug 14  2015 README.md
    -rw-r--r-- 1 root root 890124 Aug 14  2015 rsync-3.1.1.tar.gz
    -rw-r--r-- 1 root root 727290 Aug 14  2015 sersync2.5.4_64bit_binary_stable_final.tar.gz
    [root@nfs01 /server/tools/sersync-master]#  tar xvf sersync2.5.4_64bit_binary_stable_final.tar.gz     #解压sersync软件安装包
    GNU-Linux-x86/
    GNU-Linux-x86/sersync2
    GNU-Linux-x86/confxml.xml
    [root@nfs01 /server/tools/sersync-master]#  ll
    total 1948
    drwxr-xr-x 2 root root     41 Oct 26  2011 GNU-Linux-x86
    -rw-r--r-- 1 root root 358772 Aug 14  2015 inotify-tools-3.14.tar.gz
    -rw-r--r-- 1 root root  10838 Aug 14  2015 README.md
    -rw-r--r-- 1 root root 890124 Aug 14  2015 rsync-3.1.1.tar.gz
    -rw-r--r-- 1 root root 727290 Aug 14  2015 sersync2.5.4_64bit_binary_stable_final.tar.gz
    [root@nfs01 /server/tools/sersync-master]#  tree GNU-Linux-x86/
    GNU-Linux-x86/
    ├── confxml.xml
    └── sersync2
    
    0 directories, 2 files
    [root@nfs01 /server/tools/sersync-master]#  cd GNU-Linux-x86/
    [root@nfs01 /server/tools/sersync-master/GNU-Linux-x86]#  ll
    total 1772
    -rwxr-xr-x 1 root root    2214 Oct 26  2011 confxml.xml
    -rwxr-xr-x 1 root root 1810128 Oct 26  2011 sersync2
    

         步骤三:创建sersync目录

    [root@nfs01 ~]#  cd /server/tools/sersync-master/GNU-Linux-x86/
    [root@nfs01 /server/tools/sersync-master/GNU-Linux-x86]#  mkdir /usr/local/sersync
    [root@nfs01 /server/tools/sersync-master/GNU-Linux-x86]#  mkdir /usr/local/sersync/conf
    [root@nfs01 /server/tools/sersync-master/GNU-Linux-x86]#  mkdir /usr/local/sersync/logs
    [root@nfs01 /server/tools/sersync-master/GNU-Linux-x86]#  mkdir /usr/local/sersync/bin
    

         步骤四:移动文件到相应目录

    [root@nfs01 /server/tools/sersync-master/GNU-Linux-x86]#  ll
    total 1772
    -rwxr-xr-x 1 root root    2214 Oct 26  2011 confxml.xml
    -rwxr-xr-x 1 root root 1810128 Oct 26  2011 sersync2
    [root@nfs01 /server/tools/sersync-master/GNU-Linux-x86]#  mv sersync2 /usr/local/sersync/bin/
    [root@nfs01 /server/tools/sersync-master/GNU-Linux-x86]#  mv confxml.xml /usr/local/sersync/conf/
    [root@nfs01 /server/tools/sersync-master/GNU-Linux-x86]#  cd 
    
    [root@nfs01 /usr/local/sersync]#  cd ..
    [root@nfs01 /usr/local]#  tree sersync/
    sersync/
    ├── bin                          #sersync软件命令目录
    │   └── sersync2
    ├── conf                          #sersync配置文件目录
    │   └── confxml.xml
    └── logs                            #sersync日志文件目录
    

          步骤五:编写配置文件

    [root@nfs01 /usr/local]#  cd ./sersync/conf/
    [root@nfs01 /usr/local/sersync/conf]#  vim confxml.xml

      6     <filter start="false">                #start="ture"即为开启排除功能
      7         <exclude expression="(.*).svn"></exclude>        以.svn结尾的信息
      8         <exclude expression="(.*).gz"></exclude>        以.gz结尾的信息
      9         <exclude expression="^info/*"></exclude>        以info开头的信息
     10         <exclude expression="^static/*"></exclude>      以static开头的信息
     11     </filter>
     说明配置:指定排除不进行实时传输同步的数据信息

     12     <inotify>
     13         <delete start="true"/>
     14         <createFolder start="true"/>
     15         <createFile start="false"/>
     16         <closeWrite start="true"/>
     17         <moveFrom start="true"/>
     18         <moveTo start="true"/>
     19         <attrib start="false"/>
     20         <modify start="false"/>             此项为关闭是因为closewrite开启了,closewrite也相当于修改,有一个即可
     21     </inotify>
    说明配置:指定inotify程序需要监控的事件

    23     <sersync>
     24         <localpath watch="/date">              #指定监控的目录
     25             <remote ip="172.16.1.41" name="backup"/>  #备份服务器的地址 指定备份服务器模块信息
     26             <!--<remote ip="192.168.8.39" name="tongbu"/>-->    !-- >-- 相当于#起注释作用
     27             <!--<remote ip="192.168.8.40" name="tongbu"/>-->
     28         </localpath>
     29         <rsync>
     30             <commonParams params="-artuz"/>        rsync命令使用的参数
     31             <auth start="ture" users="rsync_backup" passwordfile="/etc/rsync.password"/> rsync认证用户
     32             <userDefinedPort start="false" port="874"/><!-- port=874 -->           rsync密码认证文件
     33             <timeout start="false" time="100"/><!-- timeout=100 -->
     34             <ssh start="false"/>
     35         </rsync>
    需要编写的配置文件

          

          步骤六:配置环境变量.

          由于sersync命令是下载得来的,它的路径不在环境变量中,每次执行命令需要输绝对路径,所以我们添加环境变量

    临时添加环境变量

    root@nfs01 /usr/local/sersync/conf]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin [root@nfs01 /usr/local/sersync/conf]# export PATH="$PATH:/usr/local/sersync/bin/" [root@nfs01 /usr/local/sersync/conf]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/sersync/bin/

    永久添加环境变量

    [root@nfs01 /usr/local/sersync/conf]#  vim /etc/profile
    #sersync
    export PATH="$PATH:/usr/local/sersync/bin/"
                                                                    
    [root@nfs01 /usr/local/sersync/conf]#  source /etc/profile
    [root@nfs01 /usr/local/sersync/conf]#  echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/sersync/bin/

          步骤七:启动sersync服务程序

    [root@nfs01 ~]#  sersync2 -dro /usr/local/sersync/conf/confxml.xml               运行配置文件,启动服务
    set the system param
    execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches
    execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events
    parse the command param
    option: -d     run as a daemon
    option: -r     rsync all the local files to the remote servers before the sersync work
    option: -o     config xml name:  /usr/local/sersync/conf/confxml.xml
    daemon thread num: 10
    parse xml config file
    host ip : localhost    host port: 8008
    daemon start,sersync run behind the console
    use rsync password-file :
    user is    rsync_backup
    passwordfile is     /etc/rsync.password
    config xml parse success
    please set /etc/rsyncd.conf max connections=0 Manually
    sersync working thread 12  = 1(primary thread) + 1(fail retry thread) + 10(daemon sub threads)
    Max threads numbers is: 22 = 12(Thread pool nums) + 10(Sub threads)
    please according your cpu ,use -n param to adjust the cpu rate
    ------------------------------------------
    rsync the directory recursivly to the remote servers once
    working please wait...
    execute command: cd /date && rsync -az -R --delete ./ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password >/dev/null 2>&1     #这条命令是sersync执行的监控命令
    移动到/date目录,且执行rsync命令. --delete 含义是无差异同步 这就实现了实时同步功能
    run the sersync: ,
    watch path is: /date                                                    #实时同步监控指定目录,服务部署成功


    [root@nfs01 ~]#  sersync2 -h
    set the system param
    execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches
    execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events
    parse the command param
    _______________________________________________________
    参数-d:启用守护进程模式
    参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
    c参数-n: 指定开启守护线程的数量,默认为10个
    参数-o:指定配置文件,默认使用confxml.xml文件
        -o /usr/local/sersync/conf/confxml.xml
          -o /usr/local/sersync/conf/confxml02.xml          如果有其他配置文件,也可以单独指定

    设置服务开机自启:由于服务是第三方下载软件,所有不能利用命令进行开机自启,需要将启动命令添加到自启文件中
    [root@nfs01 ~]#  echo "sersync2 -dro /usr/local/sersync/conf/confxml.xml" >>/etc/rc.local
    [root@nfs01 ~]#  cat /etc/rc.local
    ~
    sersync2 -dro /usr/local/sersync/conf/confxml.xml


    sersync服务需要停止的时候直接执行kill命令即可,此时我们需要一个命令即killall,停止服务的全部进程
    [root@nfs01 ~]#  yum provides killall                                #查找killall属于哪个软件包
       
    psmisc-22.20-16.el7.x86_64 : Utilities for managing processes on your system
    Repo        : base
    Matched from:
    Filename    : /usr/bin/killall

    [root@nfs01 ~]#  yum install -y psmisc                                #下载软件包
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile

    Installed:
      psmisc.x86_64 0:22.20-16.el7                                                                                     

    Complete!
    停止服务进程
    [root@nfs01 ~]#  killall sersync2

            步骤七:验证实时同步服务

    在存储服务器上创建100个文件,查看备份服务器监控状态
    [root@nfs01 ~]#  cd /date
    [root@nfs01 /date]#  touch {1..100}.txt
    [root@nfs01 /date]#  ll |wc -l
    103
    [root@backup ~]#  cd /backup/
    [root@backup /backup]#  ll |wc -l
    103                            #文件数一样,说明实时同步监控服务正常

    在存储服务器上删除创建的100个文件,查看备份服务器监控状态
    [root@nfs01 /date]#  m -rf ./*
    [root@nfs01 /date]#  ll
    total 0
    [root@nfs01 /date]#  
    [root@backup /backup]#  ll
    total 0
    [root@backup /backup]# 

    04 实时同步服务概念总结
        1)实现实时同步的原理
            监控目录数据变化        inotify
            将数据进行传输            rsync
            将监控和传输进行整合    sersync
        2)实现实时同步部署方法
            1.部署rsync守护进程
            2.部署inotify软件    只要下载好软件即可sersync会自己调用命令来执行任务
            3.部署sersync软件

  • 相关阅读:
    rsync命令详解
    Android Studio手动下载配置Gradle的方法
    "standard,singleTop,singleTask,singleInstance"-Android启动模式
    "Activity" 总结
    Android应用开发完全退出程序的通用方法
    SVN服务器使用(一)
    使用PyInstaller打包Python程序
    py2exe把python程序转换exe
    python 下载安装setuptools及pip应用
    Python的库和资源(转)
  • 原文地址:https://www.cnblogs.com/zp751060301/p/13467430.html
Copyright © 2020-2023  润新知