Sponsored Content
Top Forums Shell Programming and Scripting Age of file in storage / disk Post 302506514 by sheikh76 on Monday 21st of March 2011 04:26:41 AM
Old 03-21-2011
Age of file in storage / disk

Hello all,

Below is scripts to find the file following by:

30 days <- How many total file space within 30 days and not quantity
90 days
120 days
1 year

From here also I can get data space to put on PIE Chart. Following this scripts can I do some enhance from this scripts like do single command then can get total data follow 30 days, 90 days, 120 days and 1 year.

What I'm trying to to is:
1. Get file like "ls -lR | egrep ^-" > test.txt
2. From test.txt get all category 30day, 60day, 90day and 1 year.
3. Value of date convert to percentage.
4. Save as *.csv

Sample for .CSV:
Code:
 
30 days, 20
60 days,30
90 days,40
365 days,80

Scripts A - Get data by day
Code:
 
#!/bin/sh
find /mnt/emage -type f -mtime -30 ! -mtime -0 -exec ls -la {} \; > 30days.txt
cat 30days.txt | awk '{ SUM += $5} END { print "30days " SUM }' >> agging.txt

find /mnt/emage -type f -mtime -90 ! -mtime -60 -exec ls -la {} \; > 90days.txt
cat 90days.txt | awk '{ SUM += $5} END { print "90days " SUM }' >> agging.txt

find /mnt/emage -type f -mtime -180 ! -mtime -150 -exec ls -la {} \; > 120days.txt
cat 120days.txt | awk '{ SUM += $5} END { print "120days " SUM }' >> agging.txt

find /mnt/emage -type f -mtime -365 ! -mtime -335 -exec ls -la {} \; > 365days.txt

cat 365days.txt | awk '{ SUM += $5} END { print "365days " SUM }' >> agging.txt
 
cat agging.txt | awk '{ $2=$2/1073741824 ; print $1 "," $2 }' > agging.csv

mv agging.csv age.csv
rm agging.txt


Scripts B - Profiler

Code:
 
#!/bin/sh
 
ls -lR | egrep ^- > test.txt

Type[1]='"\.avi\$|\.mov\$|\.mp3\$"'
LABEL[1]=Media
 
Type[2]='"\.doc\$|\.xls\$"'
LABEL[2]=Document
 
Type[3]='"\.png\$"'
LABEL[3]=Image
 
for count in 1 2 3;
do
  echo ${LABEL[$count]},`eval egrep ${Type[$count]} test.txt |awk '{ SUM += $5} END { SUM=SUM/1073741824 ; print SUM" GB"}'`
done
 
# Available space
df -P /mnt/emage | awk 'NR==2{print "Available,"$4/1048576" GB"}'

It is posible scripts A follow as scripts B?
 

6 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Detailed disk usage versus age summary

Hi, I'm posting my question here as I fele that what I am about to try to do must have been done already, and I don't want to re-invent the wheel. I have recently become responsible for monitoring disk space usage for a large file system. I would like to geenrate reports that will summise... (8 Replies)
Discussion started by: littleIdiot
8 Replies

2. Solaris

Disk Storage Need to Add more Disk

Hi, Anyone can help me, just want to confirm, if possible adding a disk storage that we have a RAWDATA with +ASM in our database. If possible, what would you recommend "workaround used" from us to do and the preparation. And also how long the downtime will take. Our disk continuous to grow,... (0 Replies)
Discussion started by: fpalero
0 Replies

3. Red Hat

storage disk details

Hi, We have a OEL5.7 installed and which has a storage attached on it. While running application it shows poor performance for Disk IO "dm-0" Now the question is how do I find what exactly is "dm-0" # iostat Linux 2.6.32-100.23.1.el5 03/10/2012 avg-cpu: %user %nice %system... (9 Replies)
Discussion started by: shrshah64
9 Replies

4. Shell Programming and Scripting

File representing the hard disk storage device

I want example of a file representing the hard disk storage device In UNIX ? (6 Replies)
Discussion started by: tamer11007
6 Replies

5. AIX

Need to know %age disk busy on AIX

Hi , Following alerts are coming for %busy device on a server Disk Device hdisk5 is 100% busy Please assist how do I analyse this and also how do I check the %age busy for hdisk5. Best regards, Vishal (4 Replies)
Discussion started by: Vishal_dba
4 Replies

6. Linux

Move OS to storage disk

Hi We have RHEL 7.3 running from local disk and we want to move it to storage. I am unable to find any proper procedure to do this activity. Please help. (4 Replies)
Discussion started by: powerAIX
4 Replies
DATEINTERVAL.FORMAT(3)							 1						    DATEINTERVAL.FORMAT(3)

DateInterval::format - Formats the interval

SYNOPSIS
public string DateInterval::format (string $format) DESCRIPTION
Formats the interval. PARAMETERS
o $format - The following characters are recognized in the $format parameter string. Each format character must be prefixed by a percent sign ( %). +------------------+--------------------------------------+---+ |$format character | | | | | | | | | Description | | | | | | | | Example values | | | | | | +------------------+--------------------------------------+---+ | | | | | % | | | | | | | | | Literal % | | | | | | | | | | | | % | | | | | | | | | | | Y | | | | | | | | | Years, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03 | | | | | | | | | | | y | | | | | | | | | Years, numeric | | | | | | | | | | | | 1, 3 | | | | | | | | | | | M | | | | | | | | | Months, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 12 | | | | | | | | | | | m | | | | | | | | | Months, numeric | | | | | | | | | | | | 1, 3, 12 | | | | | | | | | | | D | | | | | | | | | Days, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 31 | | | | | | | | | | | d | | | | | | | | | Days, numeric | | | | | | | | | | | | 1, 3, 31 | | | | | | | | | | | a | | | | | | | | | Total number of days as a result of | | | | a DateTime::diff or (unknown) other- | | | | wise | | | | | | | | | | | | 4, 18, 8123 | | | | | | | | | | | H | | | | | | | | | Hours, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 23 | | | | | | | | | | | h | | | | | | | | | Hours, numeric | | | | | | | | | | | | 1, 3, 23 | | | | | | | | | | | I | | | | | | | | | Minutes, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 59 | | | | | | | | | | | i | | | | | | | | | Minutes, numeric | | | | | | | | | | | | 1, 3, 59 | | | | | | | | | | | S | | | | | | | | | Seconds, numeric, at least 2 digits | | | | with leading 0 | | | | | | | | | | | | 01, 03, 57 | | | | | | | | | | | s | | | | | | | | | Seconds, numeric | | | | | | | | | | | | 1, 3, 57 | | | | | | | | | | | R | | | | | | | | | Sign " -" when negative, " +" when | | | | positive | | | | | | | | | | | | -, + | | | | | | | | | | | r | | | | | | | | | Sign " -" when negative, empty when | | | | positive | | | | | | | | | | | | -, | | | | | | +------------------+--------------------------------------+---+ RETURN VALUES
Returns the formatted interval. NOTES
Note The DateInterval::format method does not recalculate carry over points in time strings nor in date segments. This is expected because it is not possible to overflow values like "32 days" which could be interpreted as anything from "1 month and 4 days" to "1 month and 1 day". EXAMPLES
Example #1 DateInterval example <?php $interval = new DateInterval('P2Y4DT6H8M'); echo $interval->format('%d days'); ?> The above example will output: 4 days Example #2 DateInterval and carry over points <?php $interval = new DateInterval('P32D'); echo $interval->format('%d days'); ?> The above example will output: 32 days Example #3 DateInterval and DateTime::diff with the %a and %d modifiers <?php $january = new DateTime('2010-01-01'); $february = new DateTime('2010-02-01'); $interval = $february->diff($january); // %a will output the total number of days. echo $interval->format('%a total days')." "; // While %d will only output the number of days not already covered by the // month. echo $interval->format('%m month, %d days'); ?> The above example will output: 31 total days 1 month, 0 days SEE ALSO
DateTime::diff. PHP Documentation Group DATEINTERVAL.FORMAT(3)
All times are GMT -4. The time now is 06:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy