zoukankan      html  css  js  c++  java
  • 异地备份同步校验脚本

    实现功能:

    将客户端服务器A的每天的数据(/www,/log)本地打包,并且配置定时脚本每天同步到服务端服务器上,在服务器上对备份的数据进行校验,将结果发送到管理员邮箱。

    客户端:

    1. #!/bin/bash
    2. remote_host=172.16.1.111    
    3. remote_path=/backup          
    4. local_backup_path=/backup
    5. local_file_path=/data
    6. [ -d $local_backup_path ] || mkdir -p $local_backup_path 
    7. #打包 
    8. cd ${local_file_path} &&
    9. tar zcf $local_backup_path/www-$(date +%F).tar.gz /data/www &&
    10. tar zcf $local_backup_path/log-$(date +%F).tar.gz /data/log &&
    11. find /backup -type f -name "*.tar.gz" | xargs md5sum > $local_backup_path/flag_$(date +%F) 
    12. #同步
    13. rsync -avz  $local_backup_path/*  $remote_host:$remote_path --passwod(省略)
    14. #删除本地七天前
    15. find $local_backup_path -type f -name "*.tar.gz" -mtime +7 | xargs rm -f
    加入定时任务
    1. crontab -e
    2. 0 4 * * *  /bin/bash /root/shell/www_backup.sh &> /dev/null

    服务端:

    1. #!/bin/bash
    2. local_backup_path=/backup
    3. md5_file=flag_$(date +%F)
    4. cd $local_backup_path 
    5. if [ $? -eq 0 ];then
    6.     if [ -e $md5_file ];then
    7.         md5sum -c ${md5_file} >> mail.txt
    8.         if [ $? -eq 0 ];then
    9.             mail -s "Success ! The backup task is ok !" 731431337@qq.com < mail.txt
    10.         else 
    11.             mail -s "Failed ! The backup task is failed !" 731431337@qq.com < mail.txt        
    12.         fi  
    13.     else 
    14.         ls > mail.txt
    15.         mail -s "Failed ! The md5_file is not exists!" 731431337@qq.com < mail.txt 
    16. fi
    加入定时任务
    1. crontab -e
    2. 0 5 * * *  /bin/bash /root/shell/flag_check.sh &> /dev/null





  • 相关阅读:
    php打印出10*10表格
    php打印出1到2000年之间所有的闰年
    借鉴一篇好文章
    女程序员的预备篇
    SQL存储过程删除数据库日志文件的方法
    Mongodb无法访问28107的问题
    使用 xsd.exe 命令工具将 xsd 架构生成 类(CS) 文件
    C# 用POST提交json数据
    WinForm 使用 HttpUtility
    Sql Server 分区之后增加新的分区
  • 原文地址:https://www.cnblogs.com/yangliheng/p/5692148.html
Copyright © 2011-2022 走看看