I won't do it for you, but I will help you do it.
Create a directory structure as:
You should be able to cd to disk_usage_log/2013/03/25 when you are finished.
Write a script to do this for any year. Ignore the fact that some months do not have 31 days.
mail:~ # df -v
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/dm-3 295898632 25063376 255804444 9% /
devtmpfs 1958980 136 1958844 1% /dev
tmpfs 1958980 12 1958968 1% /dev/shm
/dev/dm-1 69972 30144 36215 46% /boot
# df -v
Mount Dir Filesystem blocks used free %used
/ /dev/root 9297916 4917056 4380860 53%
/stand /dev/boot 81918 12838 69080 16%
/u /dev/u 102376956 29595696 72781260 29%
At this point the file 'all' should look like one of the above.
Now write a script to read this file and create a directory based on the file system name (you will have to remove any / in the file system name, or replace it with some other character, maybe an underscore.) Then create a directory with that name, and in that directory create two more files, one named 'size' the other named 'used'. The contents of these files should be the values for size and used.
At the end you should have something like this:
-rw-r--r-- 1 root sys 8 Mar 28 09:46 size
-rw-r--r-- 1 root sys 3 Mar 28 09:46 used
# cat size
# cat used
After a few days of collecting data, you should be able to write a report script.
The script should accept as input the starting year, month, day, the ending year, month, day and the file system name.
The heart of the report scripts is: