Web集群之全网备份脚本

时间: 2018-11-26阅读: 984标签: web

需求:实现指定目录或文件定时打包到本地的/backup目录以本机IP命名的目录下,并且对打包的文件做md5哈希,然后将哈希的结果写入到当前目录下md5.log文件中,然后将打包的文件推送到backup服务端;还得将7天前的备份文件给删除,每一步的操作都写入到日志中

备份的目录/文件:var/spool/cron/root server/scripts/ etc/hosts etc/sysconfig/iptables var/log/
打包存放目录:/backup/10.0.0.31
日志文件目录:/tmp/backup.log
rsync认证账户:rsync_backup
rsync认证模块:backup
rsync认证密码:123456  


脚本可以在优化几个点:
1)日志内容太多怎么办?(可以统计日志内容的行数,超过一定值,进行清空)
2)对打包的文件是否打包成功做判断


脚本如下:

#!/bin/sh
#created by jason 15:01 2018-8-24
#QQ 769866297 Mail:jasonminghao@163.com
#Regularly back up files or directory scripts
Ip=$(ifconfig eth0 | awk -F "[ :]+" ‘NR==2{print $4}‘)
Dir=/backup/$Ip
Time=$(date +%F)
Log=/tmp/backup.log
Rsync_auth=rsync_backup
Rsync_module=backup
Rsync_Ip=172.16.1.41
Rsync_passwdfile=/etc/rsync.password
[ ! -f $Log ] && touch /tmp/backup.Log

[ ! -d $Dir ] && mkdir $Dir -p

if [ -d $Dir ];then
    cd / &&    echo "<--------------------------${Time}----------------------------->" >> ${Log}
    tar zcf ${Dir}/backup_tar_${Time}.gz var/spool/cron/root server/scripts/ etc/hosts etc/sysconfig/iptables var/log/
    echo "backup file or directory is successfully ${Time} "  >> ${Log}
        md5sum  ${Dir}/backup_tar_${Time}.gz >>${Dir}/md5.log
        echo "backup file or directory md5 hashing complete ${Time} "  >> ${Log}
fi
[ $? -eq 0 ] && rsync -az ${Dir}/ ${Rsync_auth}@${Rsync_Ip}::${Rsync_module}/ --password-file=${Rsync_passwdfile}
    echo "backup file or directory rsync successful ${Time}" >> ${Log}
[ $? -eq 0 ] && find ${Dir} -name "*.gz" -atime +7 -exec   rm {} \;
    echo "find the directory or file that was 7 days ago and delete it successfully ${Time}" >> ${Log}
    echo "<-----------------------------END--------------------------------->" >> ${Log}
        echo " " >>${Log}


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/1424

Web UI 自动化测试技术选型

对于 UI 自动化测试来说,许多所谓框架之间并没有太多差别,也从来不是影响整套测试用例是否健壮的关键性因素。相比之下,如何提高测试用例稳定性以及出现错误时 debug 的便捷性才是让 UI 自动化测试方案落地的重要细节。

Atag - Web Components 最佳实践

上一次社区中谈论起 Web Components 已经可以追溯到三四年前了,彼时 Web Components 仍处于不稳定的草案阶段,Polymer 的出世使大家似乎看到了新一代的前端技术,但直到今天,在今年五月 Google I/O 发布 Polymer 3 之后

什么是web前端?前端工程师前景如何

Web为你在浏览器、APP、应用程序等设备上提供直观界面,这些界面展现以及用户交互就是前端。从2016年到2018年,web前端岗位从之前的爆发式增长变为平稳的发展

web前端开发入门_ web前端需要掌握的知识体系

web前端开发入门的知识体系包括哪些东西呢?大致分为:基本工具使用、比如Git/GitHub,编辑器,调试工具等;静态页面功底;JS与JQuery功底;JS进阶,在无人指导的情况下,看书是一种学习途径。比如《JS高级程序设计》《权威指南》是前端开发者必看书籍。

web负载均衡,几种常见负载均衡比较

当一台服务器无法支持大量用户访问时,将用户分摊到两个或多个服务器上的方法叫负载均衡。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询、IP负载均衡和CDN等

原生js判断用户是否操作了web页面

用户是否操作了web页面,我们可以在一定时间内根据用户是否触发了某些事件进行判断。比如用户是否点击,是否按键,是否移动了鼠标等

Web服务常用的几种开发方法

Web服务,即通过程序实现网页服务,服务启动后,一般用户可通过访问URL获取到网站提供的网页服务,如网页浏览、留言、商品购买等。开发Web服务的技术有很多,有Java、Python、ASP.NET、脚本语言等

Web前端设计排版小技巧

web设计排版多种多样,如何更好的排版、设计出更符合美学的设计了?设计该如何更好的做好网页设计的布局排版了,今天给大家分享这几个小技巧,希望大家能有所用。

web开发新手应该知晓的20件事

在我当初刚从事 web 开发的时候,有很多重要的事我并没有事先了解。现在看来,我的很多期望都和现实有很大的差距。在这篇文章里,我会告诉你 20 件事情,这些都是在你准备开始或者刚开始 web 开发不久的时候就应该知晓的

Web前端知识体系精简

Web前端技术由 html、css 和 javascript 三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言。而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!