• 全网备份项目


     

     

    全网备份项目环境准备:

     三台服务器准备完毕。


    03. 完成项目需求
    1)所有服务器的备份目录必须都为/backup OK
    web01 nfs01 backup

    2)要备份的系统配置文件包括但不限于: OK 
    a.定时任务服务的配置文件(/var/spool/cron/root)(适合web和nfs服务器)。
    b.开机自启动的配置文件(/etc/rc.local)(适合web和nfs服务器)。
    c.日常脚本的目录(/server/scripts)。
    d.防火墙iptables的配置文件(/etc/sysconfig/iptables)。
    e.自己思考下还有什么需要备份呢? 
    web01 nfs01


    3)Web服务器站点目录假定为(/var/html/www)。 OK 
    4)Web服务器A访问日志路径假定为(/app/logs) OK
    web01


    5)Web服务器保留打包后的7天的备份数据即可(本地留存不能多于7天,因为太多硬盘会满) OK
    web01 nfs01

    6)备份服务器上,保留每周一的所有数据副本,其它要保留6个月的数据副本。 OK
    部署好rsync守护进程服务 
    backup

    7)备份服务器上要按照备份数据服务器的内网IP为目录保存备份,备份的文件按照时间名字保存。OK


    8)需要确保备份的数据尽量完整正确,在备份服务器上对备份的数据进行检查,把备份的成功及失败结果信息发给系统管理员邮箱中(发邮件技巧见VIP群资料)。
    backup

    -------------------------------------------------备份客户端要完成的工作------------------------------------------------------------------------------------
    mkdir -p /backup/10.0.0.31/

    cd /
    tar zchf /backup/system_backup_$(date +%F_week%w).tar.gz ./var/spool/cron/root ./etc/rc.local ./server/scripts ./etc/sysconfig/iptables
    tar zchf /backup/www_backup_$(date +%F_week%w).tar.gz ./var/html/www
    tar zchf /backup/www_log_backup_$(date +%F_week%w).tar.gz ./app/logs

    find /backup -type f -mtime +7|xargs rm 

    find /backup/ -type f -mtime -1 ! -name "finger*"|xargs md5sum >/backup/10.0.0.31/finger.txt

    rsync -avz /backup/ rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password

    补充: 
    01. tar命令用法
    -h, --dereference follow symlinks; archive and dump the files they point to
    将链接文件所指向的原文件进行保存备份

    ----------------------备份服务端要完成的工作--------------------------------------------------------------------------------------------------------------------

    find /backup/ -type f -mtime +180 ! -name "*week1.tar.gz"

    find /backup/ -type f -name "finger.txt"|xargs md5sum -c >/tmp/check.txt

    mail -s "邮件测试" 330882721@qq.com </tmp/check.txt

    补充说明:
    01. 保留周一数据的方法
    a 在数据名称信息上加上周的信息
    find /backup/ -type f -mtime +180 ! -name "*week1.tar.gz"
    b 在服务端进行检查,将每周一传输的数据进行单独保存
    02. 如何验证数据完整性
    利用md5算法进行验证数据完整性
    #md5sum -c 指纹文件命令执行原理
    # 第一个历程: 打开一个指纹文件,将信息记录到缓存中
    # 第二个历程: 根据指纹文件的路径信息,生成md5数值信息
    # 第三个历程: 将新生成md5数值和原有指纹文件中的数值进行比较
    # 第四个历程: 如果相同显示结果为ok,如果不同显示failed
    03. 如何实现发送邮件
    a 配置163企业邮箱
    b 编写linux服务邮件相关配置文件
    vim /etc/mail.rc
    set from=17778058507@163.com smtp=smtp.163.com 
    set smtp-auth-user=17778058507@163.com smtp-auth-password=oldboy123 smtp-auth=login
    systemctl restart postfix.service
    c 发送邮件测试
    echo "邮件发送测试"|mail -s "邮件测试" 330882721@qq.com
    mail -s "邮件测试" 330882721@qq.com </etc/hosts

     

    04. 编写全网备份脚本
    客户端脚本:
    nfs01服务器备份脚本:
    省略:

    web01服务器备份脚本:
    省略

    服务端脚本:

    测试检验脚本方法: sh -x 脚本信息

    05. 实现自动完成全网数据备份(定时任务)
    客户端定时任务:
    crontab -e
    # backup data
    0 0 * * * /bin/sh /server/scripts/backup.sh &>/dev/null

    服务端定时任务
    # check backup data
    0 5 * * * /bin/sh /server/scripts/backup_server.sh &>/dev/null

     

  • 相关阅读:
    [大话数据结构]线性表之单链表结构和顺序存储结构
    [大话数据结构]算法
    [C#编程参考]把图像转换为数组的两种实现
    [C#绘图]在半透明矩形上绘制字符串
    [C#绘图]Matrix类
    在C#调用C++的DLL方法(二)生成托管的DLL
    在C#调用C++的DLL方法(一)生成非托管dll
    彻底解决 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    修复./mysql/proc
    linux 网络连接数查看方法
  • 原文地址:https://www.cnblogs.com/dongxu2019/p/11939373.html
Copyright © 2020-2023  润新知