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
    

  • 相关阅读:
    CV 第十一课 Segmentation Localization Detection 下
    面经
    overfitting问题
    CV 第十一课 Segmentation Localization Detection 上
    CV 第十一课 Classification + Localization 中
    SVM的特点
    UNSW CV第二课 上 Image Prepocessing
    UNSW CV Assignment1
    UNSW CV 第一课 下 投影 RGB HSV
    HDU 4350
  • 原文地址:https://www.cnblogs.com/anyux/p/11935030.html
Copyright © 2011-2022 走看看