[NTLUG:Discuss] disk usage by file age grave accent

Michael Barnes barnmichael at gmail.com
Thu Jul 1 11:14:58 CDT 2010


On Wed, Jun 30, 2010 at 8:42 PM, Fred James <fredjame at fredjame.cnc.net> wrote:
> Michael Barnes wrote:
>>
>> On Wed, Jun 30, 2010 at 2:34 PM, Fred James <fredjame at fredjame.cnc.net>
>> wrote:
>>
>>>
>>> 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
>>>
>>>
>>
>> That is getting me closer.  The problem now is it doesn't work well
>> with spaces in file names.  It also lists all the files, while all I
>> need are the folders with size summary.   But, I'm a lot closer now.
>>
>> Thanks,
>> Michael
>>
>
> Michael Barnes
> Modify the while statement to something like ...
>   while read i
>   do
>           if test -d "${i}"
>           then
>                   data=`du -sh "${i}"`
>                   echo "${data}" >> freddy.txt
>           fi
>   done < fred
>
> Any better?
> Regards
> Fred James
>
> PS:  Note that those are back ticks (grave accent) surrounding the 'du'
> statement.
>

Sorry, not yet.  I start with creating the fred file with

find /home/ftp/srnnews/ -mtime +180 -print > fred

The fred file looks like this:

/home/ftp/srnnews/House/HC-DEBATE-boehner-a4-SUNam.wav
/home/ftp/srnnews/House/THR-7-9--SAME-SEX-2w_22
/home/ftp/srnnews/House/HC-GOP-VOTE-doug-v-MONam_22
/home/ftp/srnnews/House/HC-BILL-PASSES-doug-w2-SUNam.wav
/home/ftp/srnnews/House/CLUNKERS-bond-a1-8-6.MP3
/home/ftp/srnnews/House/KENNEDY-MEMORIAL SERVICE-nats-a1.wav
/home/ftp/srnnews/House/CASH FOR CLUNKERS-feinstein-a2-8-3.MP3
/home/ftp/srnnews/House/THU-7-9--SAME-SEX-w2.wav
/home/ftp/srnnews/House/CLUNKERS-levin-a1-8-6.MP3
/home/ftp/srnnews/House/CLUNKERS-mccain-a1-8-6.MP3
/home/ftp/srnnews/House/KENNEDY TRIBUTE-byrd-a-9-10.MP3
/home/ftp/srnnews/stuff/WHEM Africa Feature.wav
/home/ftp/srnnews/stuff/9-11-SHANKESVILLE-powell-a1.wav
/home/ftp/srnnews/stuff/SRN_NewsA.mp3
/home/ftp/srnnews/stuff/9-11-NYC-DRUMS.wav
/home/ftp/srnnews/stuff/9-11-SHANKESVILLE-nats.wav
/home/ftp/srnnews/stuff/9-11-NYC-NAMES.wav
/home/ftp/srnnews/stuff/9-11-SHANKESVILLE-bells-names-a1.wav
/home/ftp/srnnews/stuff/SRN_NewsBC.mp3
/home/ftp/srnnews/stuff/9-11-NYC-bagpipes.wav
/home/ftp/srnnews/stuff/audacity-win-1.2.6.exe
/home/ftp/srnnews/stuff/9-11-BLOOMBERG-a1.wav
/home/ftp/srnnews/Senate/LIEBERMAN-kenyon-TUES.wav
/home/ftp/srnnews/Senate/13269D2-56561_Admin_a_o_i_LIEBERMAN-SENATE-kenyon-w-THURSpm_22
/home/ftp/srnnews/Senate/COLEMAN-09306233 HOLD FOR LINDA.wav
/home/ftp/srnnews/Senate/KENNEDY-BENNETT-bennett-a2.wav
/home/ftp/srnnews/Senate/KENNEDY-BENNETT-bennett-a3.wav
/home/ftp/srnnews/Senate/KENNEDY-BENNETT-bennett-a4.wav
/home/ftp/srnnews/Senate/BAILOUT-paulson-a2-TUESam.wav
/home/ftp/srnnews/Senate/KENNEDY MEMORIAL-kennedy-j-a.wav
/home/ftp/srnnews/Senate/SOTOMAYOR-kenyon-w2-THURS 8-6.MP3
/home/ftp/srnnews/Senate/SOTOMAYOR-kenyon-w2-THURS 8-6.wav
/home/ftp/srnnews/Senate/13290F1-21767_snnapuser_a_o_i_HEALTH
CARE-various-2aSATam_22
/home/ftp/srnnews/Senate/LEAHY-for all americans.wav
/home/ftp/srnnews/White House/OBAMA-RAMADAN-09-01.MP3
/home/ftp/srnnews/White House/wh-religious leaders-08-19.wav
/home/ftp/srnnews/White House/BUSH - 11-05.wav
/home/ftp/srnnews/White
House/Obama_Irritated_With_White_House_Reporter_-_1_22_09.wmv
/home/ftp/srnnews/White House/maginnis reserves question for greg.wav
/home/ftp/srnnews/White House/AP-GAFFE-01-22.mp3
/home/ftp/srnnews/White House/bushism-1.wav
/home/ftp/srnnews/White House/bushism-2.wav
/home/ftp/srnnews/YIR 2009
/home/ftp/srnnews/YIR 2009/FORT HOOD-gordon.mp3
/home/ftp/srnnews/YIR 2009/FORT HOOD-gordon.rtf
/home/ftp/srnnews/YIR 2009/YIR 2009-OBAMA AFGHAN WAR-clug.wav
/home/ftp/srnnews/YIR 2009/YIR 2009-OBAMA ECONOMY-clug.wav
/home/ftp/srnnews/YIR 2009/1329149-40114_snnapuser_a_o_i_SCRIPT_22
/home/ftp/srnnews/YIR 2009/PALIN YIR.rtf
/home/ftp/srnnews/YIR 2009/ricK 12-4-09.wav

Then I run the script above and freddy.txt says

69M	/home/ftp/srnnews/YIR 2009

My desired result would be

754M  /home/ftp/srnnews/House
75M   /home/ftp/srnnews/stuff
425M /home/ftp/srnnews/Senate
1.2G  /home/ftp/srnnews/White House
69M	/home/ftp/srnnews/YIR 2009

What is real strange is if I edit the fred file to remove the
/home/ftp/srnnews/YIR 2009 files, then run the script, it generates
nothing.  It sure has me confused.

Thanks for your help
Michael



More information about the Discuss mailing list