Sponsored Content
Top Forums Shell Programming and Scripting Perform an action if certain text exist in output (PERL) Post 302777323 by spartan22 on Thursday 7th of March 2013 03:59:34 PM
Old 03-07-2013
Perform an action if certain text exist in output (PERL)

Hello,

I'm attempting to write a tool that checks an IP address for existing PTR records then if there are no PTR records does a ping to see if it response.

Then if there is no response, it should print a message saying

This is what I have so far.

Code:
#!/usr/bin/perl
$nxdomain = "NXDOMAIN";
$ping = "100%";
while (defined($line = <>)) {
	chomp($line);
		print `nslookup $line`;
			if ($nxdomain) {
		print `ping -c 1 -w 2.0 $line`; }
			if ($ping) {
		print "IP Address '$line' is available.\n";
			}
	}

What I can't seem to get to work are the if statements for if the text NXDOMAIN is in the output and if 100% is in the output. It just goes ahead with the nslookup and then goes ahead with the ping.

Any suggestions?
Thanks!
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Perform action file name written to the pipe

Hello, I have a script that monitors files uploaded via ftp. After a successful upload, the file name is written to the pipe. There is another program that reads this pipe and allows automatically run any program or script ( say test.sh ) to process the newly uploaded file. cat test.sh... (2 Replies)
Discussion started by: fed.linuxgossip
2 Replies

2. Shell Programming and Scripting

Need help in searching 2 files for strings then perform an action

I have 2 files. I basically want to search both of them to see if the 1st column ($1) matches and if it matches then check to see if the 2nd column ($2) matches, then execute some code showing the results of the matches. File 1: AAA 123 misc blah BBB 456 CCC 789 File 2: ... (2 Replies)
Discussion started by: streetfighter2
2 Replies

3. Shell Programming and Scripting

How to perform action on newest line in log using tail?

I don't quite know what I'm doing, so this simple script is proving a challenge. Here is some pseudo code that doesn't work yet: if tail -1 "WORKING.txt" >/dev/null | egrep "^NMBR=*" > /dev/null then curl -k 'http://www.myserver.com/log.cgi?input=$?' echo "hi there" fi Purpose:... (3 Replies)
Discussion started by: dihewidd
3 Replies

4. Shell Programming and Scripting

create dir in main &subdirs,perform action

Hi, I have one dir which has N subdirs.For ex: /home/user/Project_Src /home/user/Project_Src/Dir_A /home/user/Project_Src/Dir_A/subdir/sub_dir2 /home/user/Project_Src/Dir_A/subdir/sub_dir3 /home/user/Project_Src/Dir_B /home/user/Project_Src/Dir_B/Build i want to create a folder with... (2 Replies)
Discussion started by: dragon.1431
2 Replies

5. Shell Programming and Scripting

shell script - search a file and perform some action

hi, i have a service on unix platform, it will generate traces in a particular folder i want to check using shell script if traces exist, then perform some action else continue to be in loop. filename is service.tra can you please help? thanks (4 Replies)
Discussion started by: gauravah
4 Replies

6. Shell Programming and Scripting

Perl: One action if an element doesn't exist in array

Hello, I want to run one (not multiple) action if an element doesn't exist in array. for example: @array = (1..10); foreach $el (@array) { if ($el != 11) { print "number not found\n"; } } the output of this simple script: number not found (3 Replies)
Discussion started by: ahmed_zaher
3 Replies

7. Shell Programming and Scripting

How to access files from different directories and to perform search action in those files?

Hi, I want to access files from different directories (for example: /home/dir1/file1 , /home/dir2/file2 ...) Like this i have to access these files(file1, file2...). (3 Replies)
Discussion started by: bangarukannan
3 Replies

8. Shell Programming and Scripting

Script to monitor for new file with ext .err and size > 0 bytes and perform a action or command

Hi All, I need to create a script to monitor a dir for new files with ext .err and also it should b a non empty files. and perform a action or command . We have a new ETL application that runs on a linux server, every times a etl fails it creates a .err file or updates the existing .err... (4 Replies)
Discussion started by: MAKHAN
4 Replies

9. Shell Programming and Scripting

awk script to perform an action similar to vlookup between two csv files in UNIX

Hi, I am new to awk/unix and am trying to put together an awk script to perform an action similar to vlookup between the two csv files. Here are the contents of the two files: File 1: Date,ParentID,Number,Area,Volume,Dimensions 2014-01-01,ABC,247,83430.33,857.84,8110.76... (9 Replies)
Discussion started by: Prit Siv
9 Replies
SA-CHECK_SPAMD.RAW(1)					User Contributed Perl Documentation				     SA-CHECK_SPAMD.RAW(1)

NAME
sa-check_spamd - spamd monitoring script for use with Nagios, etc. SYNOPSIS
sa-check_spamd [options] Options: -c secs, --critical=secs Critical ping response threshold -h, -?, --help Print usage message -H hostname, --hostname=hostname Hostname of spamd service to ping -p port, --port=port Port of spamd service to ping --socketpath=path Connect to given UNIX domain socket -t secs, --timeout=secs Max time to wait for a ping response -v, --verbose Verbose debug output -V, --version Output version info -w secs, --warning=secs Warning ping response threshold DESCRIPTION
The purpose of this program is to provide a tool to monitor the status of "spamd" server processes. spamd is the daemonized version of the spamassassin executable, both provided in the SpamAssassin distribution. This program is designed for use, as a plugin, with the Nagios service monitoring software available from http://nagios.org. It might be compatible with other service monitoring packages. It is also useful as a command line utility or as a component of a custom shell script. OPTIONS
Options of the long form can be shortened as long as the remain unambiguous (i.e. --host can be used instead of --hostname). -c secs, --critical=secs Critical ping response threshold in seconds. If a spamd ping response takes longer than the value specified (in seconds) the program will exit with a value of 2 to indicate the critical status. This value must be at least as long as the value specified for warning and less than the value specified for timeout. -h, -?, --help Prints this usage message and exits. -H hostname, --hostname=hostname The hostname, or IP address, of the spamd service to ping. By default the hostname localhost is used. If --socketpath is set this value will be ignored. -p port, --port=port The port of the spamd service to ping. By default port 783 (the spamd default port number) is used. If --socketpath is set this value will be ignored. --socketpath=path Connect to given UNIX domain socket. Use instead of a hostname and TCP port. When set, any hostname and TCP port specified will be ignored. -t secs, --timeout=secs The maximum time to wait for a ping response. Once exceeded the program will exit with a value of 2 to indicate the critical status. The default timeout value is 45 seconds. The timeout must be no less than 1 second. This value must be greater than the values specified for both the critical and warning values. -v, --verbose Display verbose debug output on STDOUT. -V, --version Display version info on STDOUT. -w secs, --warning=secs Warning ping response threshold in seconds. If a spamd ping response takes longer than the value specified (in seconds), and does not exceed the critical threshold value, the program will exit with a value of 1 to indicate the warning staus. This value must be no longer than the value specified for critical and less than the value specified for timeout. EXIT CODES
The program will indicate the status of the spamd process being monitored by exiting with one of these values: 0 OK: A spamd ping response was received within all threshold times. 1 WARNING: A spamd ping response exceeded the warning threshold but not the critical threshold. 2 CRITICAL: A spamd ping response exceeded either the critical threshold or the timeout value. 3 UNKNOWN: An error, probably caused by a missing dependency or an invalid configuration parameter being supplied, occurred in the sa-check_spamd program. SEE ALSO
spamc(1) spamd(1) spamassassin(1) PREREQUISITES
"Mail::SpamAssassin" version 3.1.1 or higher (3.1.6 or higher recommended) AUTHOR
Daryl C. W. O'Shea, DOS Technologies <spamassassin@dostech.ca> LICENSE
sa-check_spamd is distributed under the Apache License, Version 2.0, as described in the file "LICENSE" included with the Apache SpamAssassin distribution and available at http://www.apache.org/licenses/LICENSE-2.0 perl v5.14.2 2014-02-14 SA-CHECK_SPAMD.RAW(1)
All times are GMT -4. The time now is 08:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy