美文网首页
企业案例:rsync上机实战考试题-day36

企业案例:rsync上机实战考试题-day36

作者: 杰S咪 | 来源:发表于2019-05-21 21:04 被阅读0次

    2019-05-21
    企业案例:rsync上机实战考试题:

    web01  10.0.0.7 
    backup 10.0.0.41 
    
    某公司里有一台Web服务器,里面的数据很重要,
    但是如果硬盘坏了,数据就会丢失,
    现在领导要求你把数据在其他机器上做一个周期性定时备份。
    要求如下:
    
    (1)每天晚上12点整在Web服务器A(web01 )上打包备份网站程序目录
    (2)通过rsync命令推送到服务器B(backup)上备份保留
    (备份思路可以是先在本地按日期打包,然后再利用rsync推到备份服务器上)。
    
    涉及到:
    rsync守护进程模式 
    定时任务 (脚本)
    
    具体要求如下:
    1)Web服务器A和备份服务器B的备份目录必须都为/backup。
    2)Web服务器站点目录假定为(/var/www/html)。
    3)Web服务器本地仅保留7天内的备份。
    
    4)备份服务器上每周六的数据都保留,其他备份仅保留180天备份。
    5)备份服务器上检查备份结果是否正常(备份内容变?),并将每天的备份结果发给管理员信箱
    

    环境准备


    web01服务器(客户端)

    1.创建环境

    1.-----创建备份目录(具体要求1)
    [root 08:38 @ web01 /etc]# mkdir -p /backup 
    2.-----创建目标文件(具体要求2)
    [root 08:38 @ web01 /etc]# mkdir -p /var/www/html
    3.-----创建连接密码(作为非交互式密码)
    [root 08:38 @ web01 /etc]# echo 123456 >GYJ.password
    4.-----修改密码文件权限为600(授权)
    [root 08:39 @ web01 /etc]# chmod 600 GYJ.password
    5.-----创建脚本目录(脚本的集合地)
    [root 08:40 @ web01 /etc]# mkdir -p /server/scripts
    

    2.编辑脚本(定时任务运行脚本)

    [root 19:17 @ web01 ~]# vim /server/scripts/backup.sh
    #!/bin/bash
    ################重申变量
    source /etc/profile
    ################定义变量
    #$PATH
    IP=$(hostname -I|awk '{print $NF}')
    mkdir -p /backup/$IP
    T=$(date +%F_%w)
    HOSTNAME=$(hostname)
    ################Web服务器本地仅保留7天(具体要求3)
    tar zcf /backup/$IP/$T.tar.gz  /var/www/html
    rm -rf $(find /backup/$IP/ -type f -mtime +7 -name "*.tar.gz")
    
    ################指纹设置(具体要求5)
    md5sum /backup/$IP/*.tar.gz
    ################指纹信息打入文件中(具体要求5)
    md5sum /backup/$IP/*.tar.gz  >/backup/$IP/$HOSTNAME.md5
    
    
    ###############推送到172.16.1.41::/backup(备份服务器)(要求2)
    rsync -az /backup/  rsync_backup@172.16.1.41::backup  --password-file  /etc/GYJ.password
    

    3.定时任务

    (要求1)
    [root 08:40 @ web01 /etc]# crontab -e 
    #backup /var/www/html to /backup/ by GYJ at 20190520 
    #rsync to 172.16.1.41::backup
    00 00 * * * sh /server/scripts/backup.sh >/dev/null  2>&1
    

    backup备份服务器(服务端)

    1.创建环境

    1.-----修改配置文件
    vim /etc/rsyncd.conf
    增加模块
    #####################################
    [backup]
    comment = www by old0boy 14:18 2012-1-13
    path = /backup
    2.----创建目录(具体要求1)
    [root 19:44 @ backup ~]# mkdir /backup
    3.-----授权目录给rsync
    [root 19:44 @ backup ~]# chown rsync.rsync /backup
    4.-----启动rsync服务
    systemctl restart rsyncd
    5.-----查看端口和进程
    [root 20:57 @ backup ~]# ss -lntup |grep 873
    tcp    LISTEN     0      5         *:873                   *:*                   users:(("rsync",pid=6171,fd=3))
    tcp    LISTEN     0      5        :::873                  :::*                   users:(("rsync",pid=6171,fd=5))
    [root 20:57 @ backup ~]# ps -ef |grep rsync
    root       6171      1  0 19:17 ?        00:00:00 /usr/bin/rsync --daemon --no-detach
    root       7665   7561  0 20:57 pts/0    00:00:00 grep --color=auto rsync
    [root 20:57 @ backup ~]# 
    6.-----查看rsync是否运行和是否开机自启
    [root 20:59 @ backup ~]# systemctl is-active rsyncd
    active
    [root 20:57 @ backup ~]# systemctl is-enabled rsyncd
    enabled
    7.-----创建脚本目录
    [root 21:00 @ backup ~]# mkdir -p /server/scripts/
    

    2.编辑脚本

    [root 08:24 @ backup ~]# vim  /server/scripts/tar-backup.sh 
    
    #!/bin/bash
    . /etc/profile
    
    #每周六的数据都保留,其他备份仅保留180天备份。(具体要求4)
    find /backup/  -type f -mtime +180 ! -name "*6.tar.gz"|xargs rm -rf
    
    ################指纹认证(具体要求5)
    md5sum -c /backup/*/*.md5
    
    ################邮件(具体要求5)
    md5sum -c /backup/*/*.md5 |mail -s '梁之金光,王之木光,李之水光,郭之火光,吴之土光' lz435949032@qq.com
    

    3.定时任务

    [root 08:43 @ backup ~]# crontab -e
    #tar /backup/-md5sum-mail
    10 00 * * * sh /server/scripts/tar-backup.sh >/dev/null  2>&1
    

    相关文章

      网友评论

          本文标题:企业案例:rsync上机实战考试题-day36

          本文链接:https://www.haomeiwen.com/subject/ulrszqtx.html