Shell那些事儿之实战一

作者: 和奇谷朴 | 来源:发表于2016-07-28 22:17 被阅读151次

    实战一:日志备份

    问题背景

    目前,企业中有大量的系统,包括核心业务系统和人才办的办公系统。其中有一个应用系统是BS结构,由java开发,部署在linux服务的weblogic中间件。每天24小时有大量的用户去访问,每时每刻都会输出日志,所以就需要一个脚本对该日志文件进行备份清理。

    功能要求

    建立定时作业,每天晚上11点,开始对当天的日志文件nohup.log进行备份清理:将nohup.log备份到nohuplog.20160726,然后清空nohup.log,最后删除$HOME/log目录下的nouse1.txt、nouse2.txt和nouse3.txt文件。

    实现脚本

    ### 生产日志的备份清理脚本
    1    nowdate=`date +%Y%m%d%H%M`
    2   cp /home/shiyanlou/base_domain/nohup.log /home/shiyanlou/base_domain/nohup.log.$nowdate
    3    cat /dev/null > /home/bea1/base_domain/nohup.out
    4   rm $HOME/log/nouse*.*
    

    脚本分析

    源码分析

    • 该脚本功能包含4行代码
      1、定义一个时间变量
      2、拷贝一个新的日志文件
      3、清空原日志文件
      4、删除垃圾文件

    基础知识点

    • 该实例涉及到3个基础知识,这些你都会了吗?
      1、字符串连接操作 : +
      2、输出重定向: > 、 >>
      3、常用命令:cp 拷贝文件、rm 删除文件

    考点作业

    • 重定向符号 > 和 >>的区别是什么?
      请大家自行查找答案吧,如有兴趣,可以将标准答案回复给我哦,谢谢!

    我是和奇谷朴,喜欢我文章的话,欢迎您给个赞!
    另外也欢迎您的批评指正!谢谢!

    相关文章

      网友评论

      • 10641ffd6570:多来点嘛
      • 60b87cde4e67:后续呢
      • WB莫遥燚:简单点说>是覆盖,>>是追加。> 是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节); >>是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。

      本文标题:Shell那些事儿之实战一

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