zoukankan      html  css  js  c++  java
  • shell脚本自动删除老文件

    根据磁盘使用率,删除日期较老的文件

    #!/bin/bash
    #设置磁盘使用比例
    max_size=18
    #设置文件存储目录
    tmp_data=/root/
    #文件日志前缀
    pre_file=test
    #数组长度
    arr_len=0
    #获取磁盘使用比率
    a=0
    int=0
    #删除文件名
    tmp_del=''
    #删除文件名绝对路径
    full_del=''
    #删除日志存储
    del_log=del_log.txt
    
    #检测磁盘使用情况
    function is_del(){
    a=`df -h / | tail -n 1 | awk '{print $5}'`
    int=`echo $a | cut -d '%' -f 1`
    if [ ${int} -gt ${max_size} ];then
        echo ">>";
        return 0;
    elif [ ${int} -lt ${max_size} ];then
        echo "<<";
        return 1;
    fi
    }
    
    #删除日志文件,并写入到删除日志
    function del_name(){
    
    for i in `ls | grep ${pre_file} `; 
    do 
        arr[${arr_len}]=`echo $i|sed "s/${pre_file}//"`; 
    #    echo `echo $i|sed "s/${pre_file}//"`; 
        arr_len=`expr ${arr_len}+1 `
    done
    
    tmp_del=`echo ${arr[*]} |xargs -n1 | sort -n  | head -n 1`
    full_del=${tmp_data}${pre_file}${tmp_del}
    
    m -f ${full_del}
    if [ $? -eq 0 ];then
        echo `date '+%Y-%m-%d %T' ` ${full_del}"已被删除" >> ${tmp_data}${del_log};
    else
        echo `date '+%Y-%m-%d %T' ` ${full_del}"删除失败" >> ${tmp_data}${del_log};
    fi
    }
    
    #主函数
    function main()
    {
    	is_del;
    	if [ $? -eq 0 ];then
    	del_name;	
    	fi
    }
    
    main
    

  • 相关阅读:
    iOS开发系列-Category
    OC开发系列-内存管理
    OC开发系列-@property和@synthesize
    OC开发系列-成员变量的作用域
    OC开发系列-类与对象
    MySQL
    JavaWeb
    POJ1845-Sumdiv大数约数和
    poj1159 Palindrome 区间DP
    poj 2955 Brackets 区间DP
  • 原文地址:https://www.cnblogs.com/anyux/p/11935030.html
Copyright © 2011-2022 走看看