shell习题第20题:统计文件大小

【题目要求】

加入需要每小时执行一个脚本。功能:当时间是0点和12点时,将/data/log/下的文件全部清空,注意只能清空文件内容而不能删除文件。而其他时间只需要统计一下每个文件的大小,一个文件一行,输出到一个按日期和时间为名字的日志里,需要考虑/data/log/目录下的二级、三级所有的子目录中的文件

【要点】

find列出所有文件

date +%H

>file 清空文件

【脚本】

#!/bin/bash

dir=/tmp/log_stat
t=`date +%d%H`
t1=`date +%H`
logdir=/data/log

[ -f $dir/$t.log ] && rm -f $dir/$t.log


if [ $t1 == 00 -o $t1 == 12 ]; then
    for f in `find $logdir/ -type f`
    do
        > $i
    done
else
    for f in `find $logdir/ -type f`
    do
        size=`du -sh $f`
        echo $f $size >> $dir/$t.log
    done
fi
原文地址:https://www.cnblogs.com/dingzp/p/10991410.html