[NTLUG:Discuss] disk usage by file age

Fred James fredjame at fredjame.cnc.net
Wed Jun 30 14:34:33 CDT 2010


Michael Barnes wrote:
> On Wed, Jun 30, 2010 at 12:58 PM, Fred James <fredjame at fredjame.cnc.net> wrote:
>   
>> Michael Barnes wrote:
>>     
>>> I'm trying to figure out how to gather some disk data.  What I need is
>>> to find the disk usage by subfolder, but only by files older than a
>>> certain time.  I can get a list of files with
>>> find ./ftp/news +mtime 180
>>> and get a list of everything older than six months.
>>> I can do
>>> du -sh ./ftp/news/*
>>> and find the usage by subfolder.
>>> What I need is to combine the two, so I get something like
>>>
>>> 15M             ftp/news/4-Dallas
>>> 40M             ftp/news/4-Washington
>>> 560M    ftp/news/House
>>> 1.1G            ftp/news/Senate
>>> 717M    ftp/news/White House
>>> 69M             ftp/news/YIR 2009
>>> 65M             ftp/news/stuff
>>>
>>> knowing that the size is for files over six months old.
>>>
>>>
>>> Any simple ideas for this?
>>>
>>> Thanks,
>>> Michael
>>>
>>>       
>> Michael Barnes
>> Have you considered the various 'time' options for 'du' (snip below)? Would
>> any of those get you closer to what you want?
>> You might also consider the '-printf' option (and it's formating options) of
>> 'find' (under Actions). Hope that helps
>> Regards
>> Fred James
>>
>> --time show time of the last modification of any file in the directory, or
>> any of its subdirectories
>>
>> --time=WORD
>> show time as WORD instead of modification time: atime, access, use, ctime or
>> status
>>
>> --time-style=STYLE
>> show times using style STYLE: full-iso, long-iso, iso, +FORMAT FORMAT is
>> interpreted like ‘date'
>>
>>
>>     
>
> I tried the 'time' options and got
> du: unrecognized option `--time'
> and they are not listed as options in du --help.
> It is an older machine running SLES 9.  Apparently the 'time' options
> are new.  I don't know how I would upgrade du for this old SuSE
> install.
>
> Thanks,
> Michael
>   
Michael Barnes
A quick look at an old Unix in a Nutshell book also notes a lack of 
printf in find ... so ...
    find ./ftp/news +mtime 180 -print > fred
... should get you a text file of the list of files you are interested 
in and something like ...
    while read i
    do
            data=`du -h $i`
            echo "${data} ${i}" >> freddy.txt
    done < fred
    exit
... should produce a text file that contains something like this (see 
below) ... assuming that 'freddy.txt' does not already exist ...
Does that help?
Regards
Fred James

724K    ./tmp/orbit-fredjame
4.0K    ./tmp/ksocket-fredjame/artsd-samples
12K     ./tmp/ksocket-fredjame
4.0K    ./tmp/kde-fredjame/kdenlive
16K     ./tmp/kde-fredjame
4.0K    ./tmp/keyring-pZD1S8
4.0K    ./tmp/keyring-BivafU
4.0K    ./tmp/keyring-HkLdP7
84K     ./tmp/plugtmp
4.0K    ./tmp/plugtmp-1
4.0K    ./tmp/keyring-6gKCsT
4.0K    ./tmp/keyring-22APTg
4.0K    ./tmp/keyring-EClhPQ
4.0K    ./tmp/keyring-4bEPT3




More information about the Discuss mailing list