Sponsored Content
Full Discussion: Help with script
Top Forums Shell Programming and Scripting Help with script Post 302133626 by car2nst2006 on Friday 24th of August 2007 09:09:48 AM
Old 08-24-2007
Help with script

I have just started to shell script a few months ago and have written the script below, which works well for what its for. However I would like it if i did not have to ssh twice to the server for each server in the list ( way more then listed in script ).
Basically the script searches through a sendmail log for the
( COMMAND="$1" ) string once found i have it awk for the message ID, and remove any messages that are not complete. Than it dumps the ID's into a file which i ssh and grep the maillog file a second time for the messge ID. Now with the messge ID i have all the logs associated with the message put together seperated by the "--------" lines.

#!/bin/ksh
######################################################################
#
# Description:
# A simple script to search through all mailservers in the list below
# for a specified string input as a command line argument.
#
######################################################################
# written by:Me
######################################################################

if [[ $# -eq 0 ]];then
print "Script syntax:
./mail-script <search_string>"
exit
fi
COMMAND="$1"
echo Searching all mailhubs for an instance of: "$COMMAND"
echo ""

MAILSERVER="mailserver-1 mailserver-2 mailserver-3 mailserver-4"

for I in $MAILSERVER
do
# incase file exists from fase start, remove to start fresh
rm $HOME/hub-list 2>/dev/null
echo " "
echo "*********************************************************"
echo " $I --- $COMMAND "
echo "*********************************************************"
echo " "
ssh root@$I "grep -i $COMMAND" /log/maillog | \
awk '{print $9}'|grep -v connect |grep -v disconnect >>
$HOME/hub-list
while read -u3 hub
do
ssh root@$I grep $hub /log/maillog
echo " "
echo "--------------------------------------------------"
echo " "
done 3<$HOME/hub-list
done
echo " @@@@@ The Script has Finished @@@@@ "


I have been toying with trying to keep it all in the same command line, can this be done. My example below does not work but you can see what i was heading
grep -i Something /log/maillog | awk '{print $9}'|grep $9 /log/maillog

Any help would be appreciated, as i am still learning.
 

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies

2. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

5. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies
INSTALLSIEVE(1) 					      General Commands Manual						   INSTALLSIEVE(1)

 *

NAME
installsieve - user utility for managing sieve scripts SYNOPSIS
installsieve DESCRIPTION
installsieve is a utility that allows users to manage their sieve scripts kept on the server. OPTIONS
-v <name> View script with the given name. The script if retrieved sucessfully is output to standard output. -l List all of the scripts currently on the server. If one of the scripts is active a arrow is printed indicating that it is the active script. -p <port> Port to connect to. If left off this defaults to "sieve" as defined in /etc/services. -i <file> Install a file onto the server. If a script with the same name already exists on the server it is overwritten. Upon sucessfully putting the script on the server the script is set active. If <file> has the extension .script it is chopped when put on the server since sieve names may not contain a '.'. -a <name> Set <name> as the active script. The list of available names can be obtained from the '-l' option.. -d <name> Delete the sieve script on the server with <name>. -m <mechanism> Force installsieve to use <mechanism> for authentication. If not specified the strongest authentication mechanism is chosen. -g <name> Get the sieve script with <name> and save it to disk with a ".script" extension. If a file with that name already exists it is overwritten. -u <user> Userid/Authname to use for authentication; by default, the current user. CMU
Project Cyrus INSTALLSIEVE(1)
All times are GMT -4. The time now is 06:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy