zoukankan      html  css  js  c++  java
  • 删除超过多少天的日志文件或者备份文件

    一、删除超过7天的日志文件

      在有些生产环境下需要将服务器产生的日志文件进行定期的删除,因为日志文件随着时间的推移会占用大量的唱片空间,但是有些日志文件没必要保留很长时间,这样就需要进行删除,但是如果手动删除的话,工作量比较大,所以用脚本结合计划任务就可以定期的对日志文件进行删除,这里以超过7天的日志为例,一般用来删除备份文件,因为备份可能是每天都在生成,那些超一定日期的备份文件就没必要一直保存,可以进行删除。但是有些生产环境需要永久性的保存就没办法了。

    1.1、准备一些日志文件和常规文件放在一个目录里面

     1.2、删除修改时间超过7天的文件的脚本

    #!/bin/bash
    find /test/logs/ -name "*.log" -mtime +7 -exec rm -f {} ;           #查找日志目录下超过7天的以".log"结尾的日志文件并删除

     1.3、创建计划任务定点定期删除日志

     1.4、验证是否删除超过7天的日志

     二、总是保留最新的2分备份文件

       有些环境下,备份文件不是每天都备份,可能有些备份思路就是在周末不备份,或者节假日不备份,上面那种方案如果遇到放7天假的时候,因为只保留7天内的备份文件,结果因为7天没有备份,直接把所有的备份都给删除了。这不是破坏了备份机制吗?如果刚好放完7天假的后一天,数据丢失了,刚好备份文件全部被删除了。那数据就永远丢失了。所有才由下面这种方法,永远都会保留最新的2分备份文件。

    2.1、模拟备份机制

      在一个目录里面放一些备份文件和非备份文件

     

     2.2、保留最新2分备份的脚本

      思路:将备份目录下的备份文件依据时间进行降序排列,然后通过awk的行数来匹配大于2的文件,然后进行删除。ls -t 进行降序排序,ls -t /test/logs/*.log |awk 'NR>2' |xargs rm -f 将/test/logs/*.log进行排序,然后匹配到大于2行的文件。然后进行删除。

    脚本:

    #!/bin/bash
    ls -t /test/logs/*.log |awk 'NR>3' |xargs rm -f

     2.3、创建计划任务定点定期删除日志

     2.4、查看是否保留最新的2分备份文件

     这种方法,不管过了多长时间,有多长时间没有备份,都会保留最新的两份备份。

  • 相关阅读:
    对OpenCV学习笔记(1)遗留问题的思考
    转:争论32bit/64bit的人都搞错了方向,需要分清楚IA64和x64
    Win8_64bit+VS2012下的OpenCV学习笔记(1)
    pikachu练习平台-不安全的文件下载
    pikachu练习平台-文件包含漏洞(Files Inclusion)
    pikachu练习平台-RCE(远程系统命令、代码执行)
    pikachu练习平台(SQL注入 )
    pikachu练习平台(CSRF(跨站请求伪造) )
    pikachu练习平台(XSS-漏洞测试案例(cookie的窃取和利用、钓鱼攻击、XSS获取键盘记录))
    pikachu练习平台(XSS(跨站脚本))
  • 原文地址:https://www.cnblogs.com/mython/p/11910809.html
Copyright © 2011-2022 走看看