zoukankan      html  css  js  c++  java
  • rsync 系统用户/虚拟用户 备份web服务器数据及无交互定时推送备份

    一、服务环境

    (1),WEBserver(192.168.10.130) ; BACKserver(192.168.10.129)

    (2),BACKserver服务器部署,安装所需软件,并启动

    (3),建立系统备份用户backup(web服务器与备份服务器均建立用户)

    [root@backsever ~]# useradd backup; echo backup:123456 |chpasswd
    [root@backsever ~]# id backup
    uid=1001(backup) gid=1001(backup) groups=1001(backup)

    [root@backsever ~]# useradd backup; echo backup:123456 |chpasswd
    [root@backsever ~]# id backup
    uid=1001(backup) gid=1001(backup) groups=1001(backup)

    (4),开放web服务器备份目录权限让backup用户操作:

    [root@webserver ~]# setfacl -R -m default:backup:rwx /var/www/html/
    [root@webserver ~]# setfacl -R -m user:backup:rwx /var/www/html/
    [root@webserver ~]# getfacl /var/www/html/
    getfacl: Removing leading '/' from absolute path names
    # file: var/www/html/
    # owner: root
    # group: root
    user::rwx
    user:backup:rwx
    group::r-x

    mask::rwx

    other::r-x
    default:user::rwx
    default:user:backup:rwx
    default:group::r-x
    default:mask::rwx
    default:other::r-x

    (5),建立存储服务存放目录/web-back/,并开放权限给备份用户使用

    [root@backsever ~]# mkdir /web-back/
    [root@backsever ~]# chown backup:backup /web-back/

    (6)复制web服务器/boot/目录下所有文件到/var/www/html/目录下进行推送测试

    (7),rsync -avz --delete /var/www/html/ backup@192.168.10.129:/web-back/命令推送测试

    二,在备份服务器上建立虚拟用户,并建立用户和密码文件进行定时推送备份。

    (1)修改/etc/rsyncd.conf 配置文件,末尾添加以下内容:

    uid = root                   #运行进程的身份                 

    gid = root                 #运行进程的组           

    address =192.168.10.129       #监听IP(备份服务器)

               

    port =873      #监听端口                       

    hosts allow =192.168.10.0/24                #允许同步客户端的IP地址,可以是网段,或者用*表示所有   

    use chroot = yes       #是否囚牢,锁定家目录,rsync被黑之后,黑客无法再rsync运行的家目录之外创建文件,选项设置为yes

     

    max connections =5             #最大连接数

              

    pid file =/var/run/rsyncd.pid      #进程PID,自动生成

    lock file =/var/run/rsyncd.lock     #指max connectios参数的锁文件

    log file =/var/log/rsyncd.log          #日志文件位置

    motd file =/etc/rsyncd.motd         #客户端登陆之后弹出的消息

    [wwwroot]       #共享模块名称                   

    path =/web-back/       #备份路径      

    comment = used for web-data root    #描述

    read only = false        #设置服务端文件读写权限           

    list = yes        #是否允许查看模块信息                           

    auth users = rsyncuser            #备份的用户,和系统用户无关,建立的虚拟备份用户              

    secrets file = /etc/rsync.passwd       #存放用户的密码文件,格式是  用户名:密码

     (2),创建提示文件和用户密码

    [root@backsever ~]# echo "Welcome to Backup Server" > /etc/motd
    [root@backsever ~]# vim /etc/rsync.passwd

    rsyncuser:password123

    [root@backsever ~]# chmod 600 /etc/rsync.passwd      #密码文件权限必须是600或700

    (3)启动服务

    [root@backsever ~]# systemctl start xinetd.service
    [root@backsever ~]# systemctl enable xinetd
    [root@backsever ~]# rsync --daemon --config=/etc/rsyncd.conf           #让rsync服务从配置文件启动
    [root@backsever ~]# ps aux | grep rsync
    root 1926 0.0 0.0 114652 316 ? Ss 07:02 0:00 rsync --daemon
    root 2920 0.0 0.0 112660 972 pts/0 R+ 07:46 0:00 grep --color=auto rsyn

    [root@backsever ~]# kill -9 1926    #杀掉rsync服务进程
    [root@backsever ~]# ps aux | grep rsync
    root 2922 0.0 0.0 112660 968 pts/0 R+ 07:48 0:00 grep --color=auto rsyn
    [root@backsever ~]# rsync --daemon --config=/etc/rsyncd.conf       #重新从配置文件读取启动
    [root@backsever ~]# ps aux | grep rsync  #查看已启动的rsync进程
    root 2924 0.0 0.0 114652 504 ? Ss 07:48 0:00 rsync --daemon --config=/etc/rsyncd.conf
    root 2926 0.0 0.0 112660 968 pts/0 R+ 07:48 0:00 grep --color=auto rsyn

    (4),在web服务器上建立备份用户密码文件,使推送备份无需输入密码运行

    [root@webserver ~]# vim /etc/rsync.passwd
    [root@webserver ~]# cat !$
    cat /etc/rsync.passwd
    password123

    [root@webserver ~]# chmod 600 /etc/rsync.passwd  #密码文件权限必须改为600或700不然无法读取

    (5)web服务器运行命令:rsync -avz --delete  /var/www/html rsyncuser@192.168.10.129::wwwroot --password-file=/etc/rsync.passwd 进行推送备份测试

    (6),测试成功,说明配置没问题,写入定时任务自动执行

    [root@webserver ~]# vim autobackup.sh
    [root@webserver ~]# cat !$
    cat autobackup.sh
    #!/bin/bash
    rsync -avz --delete /var/www/html rsyncuser@192.168.10.129::wwwroot --password-file=/etc/rsync.passwd         #--password-file必须要指定web服务器密码文件绝对路径,否则无法读取!!!!

    echo "0 2 * * * sh /root/autoback.sh &" >> /var/spool/cron/root      #制定定时任务,定时执行推送备份脚本

    本文来自博客园,作者:daemonlu,转载请注明原文链接:https://www.cnblogs.com/daemonlu/p/8933380.html

  • 相关阅读:
    8-15 globalCompositeOperation阶段练习二
    8-13 canvas专题-阶段练习二(下)
    8-12 canvas专题-阶段练习一(上)
    最长公共字串
    8-23 canvas专题
    8-2 canvas专题-线条样式
    7-81 js课程小结
    7-80 HTML5新增的JS选择器
    VS快捷键教程
    java.text.NumberFormat使用方法
  • 原文地址:https://www.cnblogs.com/daemonlu/p/8933380.html
Copyright © 2011-2022 走看看