-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdiskUsageCheck.script
More file actions
executable file
·63 lines (62 loc) · 1.41 KB
/
diskUsageCheck.script
File metadata and controls
executable file
·63 lines (62 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/bin/tcsh
set error = 0
if( $# != 3 && $# != 4 ) then
set error = 1
endif
if( $# == 4 && "$4" != "-f" ) then
set error = 1
endif
if( $error == 1 ) then
echo "Usage: $0 logDir email [listDirectoriesFile|DirectoryName] [-f]"
exit -1
endif
set erase = 0
if( $# == 4 && "$4" == "-f" ) then
set erase = 1
endif
set email=$2
set logDir=$1
if( ! -d "$logDir" ) then
mkdir "$logDir"
endif
set listDirectories="$3"
if( -d "$listDirectories" ) then
set IsDir = 1
set name=`echo $listDirectories| sed 's/\/$//'`
set name=`echo $name| sed 's/.*\///'`
else
set IsDir = 0
set name=$listDirectories:t
endif
set startTimeStamp=`date '+%Y.%m.%d~%H:%M:%S'`
echo $startTimeStamp
set logDay=`date '+%Y.%m.%d'`
set logFile="${logDir}/${logDay}-${name}.log"
echo "$logFile"
if( -e "$logFile" ) then
echo "log file called $logFile already exists"
if( $erase == 1 ) then
echo "It will be erased"
rm $logFile
else
echo "Error: It will not be erased. Abort"
exit -1
endif
endif
if( $IsDir == 0 ) then
foreach i (`more "$listDirectories"`)
echo $i
set size=`du -sh $i`
echo $size
echo $size >> "$logFile"
end
else
echo "$listDirectories"
du -h --max-depth=1 "$listDirectories" >> "$logFile"
cat $logFile
endif
set endTimeStamp=`date '+%Y.%m.%d~%H:%M:%S'`
echo $endTimeStamp
echo "Start: $startTimeStamp" >> "$logFile"
echo "End: $endTimeStamp" >> "$logFile"
mail -s "disk usage" $email < "$logFile"