关闭

Web集群之全网备份脚本

时间: 2018-11-26阅读: 914标签: 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.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

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

如何迁移Flutter项目到Flutter Web?

这篇简单介绍下怎么将一个现有的 Flutter 项目转成 Flutter Web 项目。开始之前先浇一盆冷水,我们理想中的一套代码、多端运行的愿望是要破灭了,至少目前版本的 Flutter Web SDK 是没法做到的

web页面的回流和重绘

什么是回流? 回流也叫重排(reflow),当页面中的元素发生影响布局的变化,比如:改变宽高,修改显示影藏。页面需要重新布局,就会触发重排。 简单的说就是,页面布局改变,就会触发重排。

W3C是什么?IETF是什么?

无规矩不成方圆,软件开发当然不能例外。Web开发涉及的厂商和技术非常多,所以必须要有参考的标准,而且需要一系列的标准。Web程序都是通过浏览器来解析执行的,通过页面的展示内容与用户互动,所以Web标准不仅要求各个浏览器都要遵循

Web认证_介绍Web开发中几种常用的认证机制

如今web服务随处可见,成千上万的web程序被部署到公网上供用户访问,有些系统只针对指定用户开放,属于安全级别较高的web应用,他们需要有一种认证机制以保护系统资源的安全,本文将探讨五种常用的认证机制及优缺点。

为什么说 Web 开发的未来在于组件?

预测未来并非易事。在预测社会现象的未来趋势时,我们不能认为未来就是当下现状的简单线性延伸——而 Web 开发就是一种社会现象

Web 研发模式的演变

Web 1.0 时代,非常适合创业型小项目,不分前后端,经常 3-5 人搞定所有开发。页面由 JSP、PHP 等工程师在服务端生成,浏览器负责展现。这种模式的好处是:简单明快

站在Web3.0 理解IPFS是什么

文本尝试站在未来Web3.0的高度来看看IPFS究竟用来解决什么问题。IPFS是一项非常激动人心的技术,尽管它仍在发展的早期(区块链也是),还有很多问题需要我们一起解决,如NAT穿透问题,浏览器支持问题,内容存储激励问题,存储数据安全与隐私保护问题。

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

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

Web实现前后端分离,前后端解耦

前后端分离“已经成为互联网项目开发的业界标杆,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦。并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务

Atag - Web Components 最佳实践

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

点击更多...

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