Sponsored Content
Top Forums Shell Programming and Scripting Help with File Monitoring Script Post 302605796 by gkelly1117 on Thursday 8th of March 2012 02:14:57 PM
Old 03-08-2012
You guys are really helpful, allow me to make some changes to the code, I will post once more, and confirm that I understand what I should have changed

---------- Post updated at 01:48 PM ---------- Previous update was at 01:44 PM ----------

Code:
#!/usr/bin/ksh
# PURPOSE: This script is going to view the top 10 largest home directory Folders, then go in each directory and list top 10 largest files.
#
#Author: Emmanuel Iroanya Jr
#Date: March 8,2012
#
##### DEFINE FILES AND VARIABLES HERE ####[/FONT]
WORKFILE="/tmp/homedf.work"  # Holds filesystem data
>$WORKFILE                   # Initialize to empty
OUTFILE="/tmp/homedf.outfile" # Output display file
>$OUTFILE                   # Initialize to empty
THISHOST=`hostname`      # Hostname of this machine
USER=`du -sk /home/* | sort -n -r | awk '{print $2}' | head -10`    # Define User
counter=0                  # Sets Counter to 0
######## START OF MAIN #############[/FONT]

cd /home
du -sk /home | sort -n -r | head -n 10 > $WORKFILE 
ls /home | sort -n -r | head -n 10
while read $USER
do 
    du -a $USER | sort -n -r | head -n 10 > $OUTFILE
    let counter=$counter+1
    echo $counter
done 
if [[ -s "$WORKFILE" -a -s "$OUTFILE" ]]
    then
    cat "$WORKFILE" "$OUTFILE"
    print
    mailx -s "Home Folder Size Files" [FONT=Courier New]exxxxxxxl_ixxxxxa@xxxxxx.com[ < "$WORKFILE" && "$OUTFILE"
fi

Now if i understand, you said the counter portion is useless,, so after i take that out, I should be good to go correct?

---------- Post updated at 02:14 PM ---------- Previous update was at 01:48 PM ----------

One Last error when I post the edited code I get this error as well

Code:
ksh: syntax error: `-a' unexpected

I am assuming its coming from the line:

Code:
du -a $USER | sort -n -r | head -n 10 > $OUTFILE


Last edited by methyl; 03-09-2012 at 07:30 PM.. Reason: Remove Microsoft font tags, add code tags. remove more funny fonts
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

file system monitoring script

Hi Does anyone know any website which contains examples of unix system monitoring scripts example? cheers (1 Reply)
Discussion started by: g-e-n-o
1 Replies

2. Shell Programming and Scripting

File monitoring script

Team, Attached 2 scripts for your validation(main script,mail script) Problem description: When its red it should wait for 10 seconds and then send a mail. If not red it should not send the mail i have done the below changes in the main script: if then if ... (4 Replies)
Discussion started by: whizkidash
4 Replies

3. Shell Programming and Scripting

Shell Script for monitoring File system.

Hi, need help to write one shell script to monitor UNIX file systems and if any changes happend like deletion of any file, adding new file, time stamp changed, permisson changed etc. Script need to send alert mail to defined person/mail id. I request someone to help me to create the... (1 Reply)
Discussion started by: vjauhari
1 Replies

4. Shell Programming and Scripting

[Solved] File System Monitoring Script

Hello Scripts Guru I had created a shell script to monitor the threshold of the file system, but some where it is not giving the correct output. Request to all to hel me out I am getting the following output /dev/vg00/lvol3 mounted on 1865224 10% / is 2097152% /dev/vg00/lvol1 mounted on... (2 Replies)
Discussion started by: indrajit_renu
2 Replies

5. Shell Programming and Scripting

help needed - log file monitoring script

hi Gurus, Need to pick your brains on this minor script project. I would like to continuously monitor a log file with sample log messages as below, and if PSOldGen percentage is either 99% or 100% for consecutively 10 times, alert someone. {Heap before gc invocations=46516: PSYoungGen ... (6 Replies)
Discussion started by: kenchen722
6 Replies

6. UNIX for Advanced & Expert Users

ldapsearch in monitoring script without bind password written in script

Hi I do a very simple monitoring of our OpenLDAP (runs in cronjob and generate alerts if unsuccessfull) $ ldapsearch -h hostname.domain -D "cn=monitor_user,ou=People,dc=organisation" -w "password" -b "dc=organisation" -x "(&(cn=monitor_user)(ou=People))" dn | grep -v version dn:... (4 Replies)
Discussion started by: slashdotweenie
4 Replies

7. Shell Programming and Scripting

script to mail monitoring output if required or redirect output to log file

Below script perfectly works, giving below mail output. BUT, I want to make the script mail only if there are any D-Defined/T-Transition/B-Broken State WPARs and also to copy the output generated during monitoring to a temporary log file, which gets cleaned up every week. Need suggestions. ... (4 Replies)
Discussion started by: aix_admin_007
4 Replies

8. Shell Programming and Scripting

Monitoring script for a log file

Hi, I need to get a script working to monitor a log file and throw an alert via mailx as soon as a particular error is encountered. I do not want repeatative email notifications of same error so simply cat logfile and grepping the error would not work. Here is what i planned but it seems... (2 Replies)
Discussion started by: roshan.171188
2 Replies

9. UNIX for Beginners Questions & Answers

Monitoring script for Log file

Hi, Iam new to unix , plz help me to write below script. I need to write a script for Monitoring log file when any error occurs it has to send a mail to specified users and it should be always pick latest error not the existing one and the script should be able to send mail all errors (more... (1 Reply)
Discussion started by: vij05
1 Replies

10. UNIX for Beginners Questions & Answers

Shell script for continuously monitoring log file

Hi I have written below log monitoring script to egrep multiple words and redirect the output to a text file and its working fine but I want to add some more below given functionality to it, which is very advance and im not very good in it, so please help if you can :) I am egrepping all the... (1 Reply)
Discussion started by: scazed
1 Replies
File::Fu(3pm)						User Contributed Perl Documentation					     File::Fu(3pm)

NAME
File::Fu - file and directory objects SYNOPSIS
The directory constructor: use File::Fu; my $dir = File::Fu->dir("bar"); print "$dir "; # 'bar/' my $file = $dir + 'bar.txt'; print "$file "; # 'bar/bar.txt' my $d2 = $dir % 'baz'; # 'barbaz/' my $d3 = $dir / 'bat'; # 'bar/bat/' my $file2 = $dir / 'bat' + 'foo.txt'; # 'bar/bat/foo.txt' The file constructor: my $file = File::Fu->file("foo"); $file->e and warn "$file exists"; $file->l and warn "$file is a link"; warn "file is in ", $file->dir; ABOUT
This class provides the toplevel interface to File::Fu directory and file objects, with operator overloading which allows precise path composition and support for most builtin methods, as well as creation of temporary files/directories, finding files, and more. The interface and style are quite different than the perl builtins or File::Spec. The syntax is concise. Errors are thrown with croak(), so you never need to check a return code. Constructors The actual objects are in the 'Dir' and 'File' sub-namespaces. dir my $dir = File::Fu->dir($path); See "new" in File::Fu::Dir file my $file = File::Fu->file($path); See "new" in File::Fu::File Class Constants tmp Your system's '/tmp/' directory (or equivalent of that.) my $dir = File::Fu->tmp; home User's $HOME directory. my $dir = File::Fu->home; program_name The absolute name of your program. This will be relative from the time File::Fu was loaded. It dies if the name is '-e'. my $prog = File::Fu->program_name; If File::Fu was loaded after a chdir and the $0 was relative, calling program_name() throws an error. (Unless you set $0 correctly before requiring File::Fu.) program_dir Returns what typically corresponds to program_name()->dirname, but just the compile-time cwd() when $0 is -e/-E. my $dir = File::Fu->program_dir; Class Methods THIS_FILE A nicer way to say __FILE__. my $file = File::Fu->THIS_FILE; cwd The current working directory. my $dir = File::Fu->cwd; which Returns File::Fu::File objects of ordered candidates for $name found in the path. my @prog = File::Fu->which($name) or die "cannot find $name"; If called in scalar context, returns a single File::Fu::File object or throws an error if no candidates were found. my $prog = File::Fu->which($name); Temporary Directories and Files These class methods call the corresponding File::Fu::Dir methods on the value of tmp(). That is, you get a temporary file/dir in the '/tmp/' directory. temp_dir my $dir = File::Fu->temp_dir; temp_file my $handle = File::Fu->temp_file; Subclassing You may wish to subclass File:Fu and override the dir_class() and/or file_class() class methods to point to your own Dir/File subclasses. my $class = 'My::FileFu'; my $dir = $class->dir("foo"); See File::Fu::File and File::Fu::Dir for more info. See Also File::Fu::why if I need to explain my motivations. Path::Class, from which many an idea was taken. File::stat, IO::File, File::Spec, File::Find, File::Temp, File::Path, File::Basename, perlfunc, perlopentut. AUTHOR
Eric Wilhelm @ <ewilhelm at cpan dot org> http://scratchcomputing.com/ BUGS
If you found this module on CPAN, please report any bugs or feature requests through the web interface at <http://rt.cpan.org>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. If you pulled this development version from my /svn/, please contact me directly. COPYRIGHT
Copyright (C) 2008 Eric L. Wilhelm, All Rights Reserved. NO WARRANTY
Absolutely, positively NO WARRANTY, neither express or implied, is offered with this software. You use this software at your own risk. In case of loss, no person or entity owes you anything whatsoever. You have been warned. LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2010-05-13 File::Fu(3pm)
All times are GMT -4. The time now is 05:00 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy