Sponsored Content
Top Forums Shell Programming and Scripting df -kh on 30+ servers using script? Post 302396050 by EAGL€ on Wednesday 17th of February 2010 02:41:26 PM
Old 02-17-2010
Why dont you use Nagios for this issue? You can install Nagios one Master server that you will choose, and then install Nagios NRPE in all other 29 servers.

In Nagios, NRPE reports remote hosts status to main Nagios server and you can monitor all the Servers on the screen of Master server. Using "du -sh" or "df - kh" you can write an easy script and then put it's path in all 29 NRPE servers' NRPE config files and finaly you collect all the status of those servers. Use Active checks for this purpose. You can set check status of scripts also in config files.

You can also check results of some scripts ( which is placed in crontab) periodically by writing nagios plugin.

I know at first sight it might look so different and diffucult to you but you can do it searching..
I hope i give you a way to do it
Regards

Last edited by EAGL€; 02-17-2010 at 03:47 PM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

3 servers 1 .ksh script

system = AIX How can I explain this..... Keep in mind I do not want to login to the boxes, persay, and that I am fairly new to scripting and unix. I want to use SSH. I have a script on server1, this is where I want it to run from. I have server2 and server3, where I want the script to... (2 Replies)
Discussion started by: cml2008
2 Replies

2. UNIX for Advanced & Expert Users

script to ping servers

Hi , I would like to automate a script to ping all the unix servers perodically thru cronjob. Is there any script out there? If so Please give me. Thanks in advance. (2 Replies)
Discussion started by: sriny
2 Replies

3. Shell Programming and Scripting

script to locate servers

I am a newbie in shell scripting and I need to produce a script to work and achieve the following: 1) Look into the file /etc/defaultrouter , and store the value in it 2) If the value is a number, go to LIST and print out the second column corresponding to the value.(eg London) 3) If the... (5 Replies)
Discussion started by: ibroxy
5 Replies

4. Shell Programming and Scripting

Help with script checking for a file in various servers

I am trying to write a script that checks whether or not, a file exists on multiple servers. My code / logic so far is: #!/usr/bin/ksh print "Enter File name to be checked" read MYFILE ssh server1 " cd /var/opt/logs ; if then ... (4 Replies)
Discussion started by: momin
4 Replies

5. Shell Programming and Scripting

Script to login to several servers and get files

Hi ppl, I am looking out for a shell script a. That would have to login(from a main server) to say 16 servers individually. b.On each server go to a particular location, check if a particular file is generated on a date(say every sunday it gets generated and i would be interested in the latest... (8 Replies)
Discussion started by: yohasini
8 Replies

6. Shell Programming and Scripting

Need bash script to ping the servers and rename the output file each time the script is ran

HI, I have a file serverlist in that all host names are placed. i have written a small script #./testping #! /bin/bash for i in `cat serverlist` do ping $i >> output.txt done so now it creates a file output.txt till here fine.. now each time i run this script the output file... (4 Replies)
Discussion started by: madhudeva
4 Replies

7. Shell Programming and Scripting

Run a script in parts on 2 servers

Hi all, I have a task for which I need to run some commands on one server1 and then jump from the server1 (using ssh and asking user to enter login credentials manually for server2 server) to server2 and run some commands there and exit. I know the script I need here but problem is when I... (5 Replies)
Discussion started by: pat_pramod
5 Replies

8. Shell Programming and Scripting

Script to Ping Servers

Hey, It's me again! Still trying to learn to become a better scripter on the job :) New challenge for assistance, if anyone cares to help, and its two parted! First part, I wanted to create a script at work that would ping a server that was supplied in an argument, then a count (amount of times)... (5 Replies)
Discussion started by: gkelly1117
5 Replies

9. Shell Programming and Scripting

Exit the script when all servers are down

Hello All, I have a script which needs to exit once it encounters that all the servers are down. In the below portion of a code the content manager is having values of server for example server A , server B. So I want the script to exit only if all the servers are down and to continue if one... (4 Replies)
Discussion started by: Vikram_Tanwar12
4 Replies

10. UNIX and Linux Applications

Call one script from other script lying on different servers.

HI All, I have a requirement of execueting a Shell script on serverA, which is going to execute an application script ( Hyperian Planning script ) on serverB. Can any one please help in how to achieve this? e.g. script abc.ksh runs on serverA. internally abc.ksh call a script... (3 Replies)
Discussion started by: alok2082
3 Replies
Nagios::Object::Config(3pm)				User Contributed Perl Documentation			       Nagios::Object::Config(3pm)

NAME
Nagios::Object::Config - Perl objects to represent Nagios configuration DESCRIPTION
This is a module for parsing and processing Nagios object configuration files into perl objects. METHODS
new() Create a new configuration object. If Version is not specified, the already weak validation will be weakened further to allow mixing of Nagios 1.0 and 2.0 configurations. For now, the minor numbers of Version are ignored. Do not specify any letters as in '2.0a1'. To enable regular expression matching, use either the "regexp_matching" or "true_regexp_matching" arguments to new(). See enable_regexp_matching() and enable_true_regexp_matching() below. my $objects = Nagios::Object::Config->new(); my $objects = Nagios::Object::Config->new( Version => 1.2 ); my $objects = Nagios::Object::Config->new( Version => 2.0, regexp_matching => 1, true_regexp_matching => 2 ); parse() Parse a nagios object configuration file into memory. Although Nagios::Objects will be created, they are not really usable until the register() method is called. $parser->parse( "myfile.cfg" ); find_object() Search through the list of objects' names and return the first match. The second argument is optional. Always using it can considerably reduce the size of the list to be searched, so it is recommended. my $object = $parser->find_object( "localhost" ); my $object = $parser->find_object( "oracle", "Nagios::Service" ); find_objects() Search through the list of objects' names and return all the matches. The second argument is required. my @object_list = $parser->find_objects( "load", "Nagios::Service" ); find_objects_by_regex() Search through the list of objects' names and return a list of matches. The first argument will be evaluated as a regular expression. The second argument is required and specifies what kind of object to search for. The regular expressions are created by translating the "*" to ".*?" and "?" to ".". For now (v0.9), this code completely ignores Nagios's use_regexp_matching and use_true_regexp_matching and does full RE matching all the time. my @objects = $parser->find_objects_by_regex( "switch_*", "Nagios::Host" ); my @objects = $parser->find_objects_by_regex( "server0?", "Nagios::Host" ); all_objects_for_type() Obtain a reference to all objects of the specified Nagios object type. Usage: $objects = all_objects_for_type($object_type) Parameters: $object_type - A specific Nagios object type, i.e. "Nagios::Contact".. Returns: A reference to an array of references to all objects of the specified type associated with this configuration. Objects of this type added to the configuration following the call to this method _will_ be accessible through this reference after the fact. Note that the array reference by the return value may be empty. Example: my $contacts = $config->all_objects_for_type("Nagios::Contact"); if (scalar(@$contacts) == 0) { print "No contacts have yet been defined "; } else { foreach $contact (@$contacts) { ... } } all_objects() Returns an arrayref with all objects parsed from the config in it. my $everything = $config->all_objects; find_attribute() Search through the objects parsed thus far, looking for a particular textual name. When found, return that object. If called with two arguments, it will search through all objects currently loaded until a match is found. A third argument may specify the type of object to search for, which may speed up the search considerably. my $object = $parser->find_attribute( "command_name", "check_host_alive" ); my $object = $parser->find_attribute( "command_name", "check_host_alive", 'Nagios::Host' ); resolve() Resolve the template for the specified object. Templates will not work until this has been done. $parser->resolve( $object ); register() Examine all attributes of an object and link all of it's references to other Nagios objects to their respective perl objects. If this isn't called, some methods will return the textual name instead of a perl object. $parser->register( $host_object ); my $timeperiod_object = $host_object->notification_period; resolve_objects() Resolve all objects currently loaded into memory. This can be called any number of times without corruption. $parser->resolve_objects(); register_objects() Same deal as resolve_objects(), but as you'd guess, it registers all objects currently loaded into memory. $parser->register_objects(); enable_regexp_matching()/disable_regexp_matching() This correlates to the "use_regexp_matching" option in nagios.cfg. When this option is enabled, Nagios::Object::Config will translate "*" to ".*?" and "?" to "." and evaluate the result as a perl RE, anchored at both ends for any value that can point to multiple other objects (^ and $ are added to either end). $parser->enable_regexp_matching; $parser->disable_regexp_matching; enable_true_regexp_matching()/disable_true_regexp_matching() This correlates to the "use_true_regexp_matching" option in nagios.cfg. This is very similar to the enable_regexp_matching() option, but matches more data and allows more powerful RE syntax. These modules will allow you the full power of perl RE's - this is probably more than is available in Nagios, so don't blame me if something works here but not in Nagios (it's usually the other way around anyways). The generated RE's have the same translation as above, but do not have the anchors to ^ and $. This option always supercedes enable_regexp_matching. $parser->enable_true_regexp_matching; $parser->disable_true_regexp_matching; list_hosts(), list_hostgroups(), etc. Returns an array/arrayref of objects of the given type. $config->list_hosts $config->list_hostgroups $config->list_services $config->list_timeperiods $config->list_commands $config->list_contacts $config->list_contactgroups $config->list_hostdependencies $config->list_servicedependencies $config->list_hostescalations $config->list_hostgroupescalations $config->list_serviceescalations $config->list_servicegroups $config->list_hostextinfo $config->list_serviceextinfo AUTHOR
Al Tobey <tobeya@cpan.org> Contributions From: Lynne Lawrence (API & bugs) perl v5.12.4 2011-10-22 Nagios::Object::Config(3pm)
All times are GMT -4. The time now is 01:54 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy