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 ""
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.
Just wanted to thank everyone for there help and replies, or is that lack of help.. I am sorry that my question was so meaningless that it was not worthy of any one here even offering me any help.. or any advice at all.
Thanks for you help Porter.. I will try your sugestion. I does make more sence to do all the work on the server itself rather then tie up the ssh connections and It might actually speed the thing up...
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)
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)
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)
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)
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)