Sponsored Content
Top Forums Shell Programming and Scripting Check/get the exit status of a remote command executed on remote host through script Post 302953295 by lovesaikrishna on Wednesday 26th of August 2015 09:32:03 PM
Old 08-26-2015
Check/get the exit status of a remote command executed on remote host through script

Geeks,

Could you please help me out in my script and identify the missing piece. I need to check/get the exit status of a remote command executed on remote host through script and send out an email when process/processes is/are not running on any/all server(s).

Here's the complete requirement.

From one server I need to ssh to all servers, check if desired processes are running and send out a consolidated email of all servers that are not running desired processes.

In some cases the server needs to be checked on 3-5 processes, they all need to be on the same script if possible else a different script.


This one works well as expected, when I run on single host from command line.

Code:
ssh -tq <ServerOne> "/bin/ps -ef | /bin/grep  'com.utv.wlrs.mer.mer pop start' " > /dev/null

I need this

Code:
for i in $Server_List
do
        output=`ssh $Server_List "/bin/ps -ef | /bin/grep -v grep | /bin/grep 'com.utv.wlrs.mer.mer pop start' > /dev/null 2>&1 | wc -l`
        echo "$output"
        if [ "${output}" != "1" ] ; then
                echo "Process is NOT running on $i" >> /var/tmp/failed.txt
                echo "                           " >> /var/tmp/failed.txt
        fi
done
mailx -s "Mer Failures on `date +%F`" $EMAIL_LIST < /var/tmp/failed.txt


Thanks,
Saikrishna

Last edited by Don Cragun; 08-26-2015 at 10:42 PM.. Reason: Add CODE tags.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

how to find the exit status for the last executed command

I am executing a find command in my script i.e find $2 -type f -name '*.gif' -mtime +$1 -exec rm {} \; how do i check that this command is executed properly.. i would lke t trap the errror and display my error message kinly help.. this is an urgent issue. (1 Reply)
Discussion started by: vijay.amirthraj
1 Replies

2. Shell Programming and Scripting

Getting the exit status of a remote command

Hi to everyone. How can I get the exit status from a remote command executed with rexec? :eek: machine A has RedHat Linux 9 and the remote machine B has SCO UNIX. Code: rexec -l user -p password host sh /u/files/scripts/seq_cal.sh 2006 08 I want the exit status returned by... (1 Reply)
Discussion started by: zoonalex
1 Replies

3. UNIX for Dummies Questions & Answers

Bash Script to check Remote Host Connection

Hi all, Can anyone tell/guide me how to check remote host is up/running using bash script? Thanks. Zulfiqar (5 Replies)
Discussion started by: zulfikarmd
5 Replies

4. Shell Programming and Scripting

command to check whether the remote host is up or not

Hi, My script needs to check whether the remote host is up or not. If it is up i need to start few servers in that host or else just a notification should be sent that the remote host is down? Could someone help me out in this? Regards Arun (4 Replies)
Discussion started by: arunkumarmc
4 Replies

5. Solaris

Checking the port status of a remote host

Hi there I am in the process of writing a script to check whether a port on a remote system is up or not. Here's what I have so far: #!/bin/bash telnet xx.xx.xx.xx 80 | (echo "^]") if ]; then echo "Please check Web services " | mailx -s "Please check webservices... (1 Reply)
Discussion started by: notreallyhere
1 Replies

6. Shell Programming and Scripting

Expect script: obtain the exit code of remote command

Hi all, I'm trying to run the sipp simulator in crontab but after some attempt I came to the conclusion that for some reason this isn't possible (maybe due to sipp interactive nature). This is confirmed by these posts. Now I'm trying to launch sipp from an expect script that runs in crontab. ... (0 Replies)
Discussion started by: Evan
0 Replies

7. Solaris

Check executed commands from remote hosts

Hello, Is there any way to check which user and from which IP executed a command to the server.I need something like the history but with information also from which IP the command executed. Thanks in advance (8 Replies)
Discussion started by: @dagio
8 Replies

8. Shell Programming and Scripting

Pause processes in remote host and resume execution in another remote host

Hi, Given addresses of 2 remote machines, using a shell script is it possible to get the state of running processes in "src" stop all the processes in "src" exit out of "src" ssh into "dest" resume the state of executing processes captured in step 1 in "dest" Assumption: "src" is... (3 Replies)
Discussion started by: Saeya Darsan
3 Replies

9. Shell Programming and Scripting

Script connect to remote server, not find files and exit only from remote server, but not from scrip

I have a script, which connecting to remote server and first checks, if the files are there by timestamp. If not I want the script exit without error. Below is a code TARFILE=${NAME}.tar TARGZFILE=${NAME}.tar.gz ssh ${DESTSERVNAME} 'cd /export/home/iciprod/download/let/monthly;... (3 Replies)
Discussion started by: digioleg54
3 Replies

10. UNIX for Beginners Questions & Answers

SFTP file check through a remote host

Hi all, posting my first time, hope not breaking posting rules with it, if yes, let me know. I'm trying to build a script to check a file in an sftp server through a remote server. The intention is to check the file in a sftp host, and if the file is found or not, it should send an email.... (4 Replies)
Discussion started by: MrShinyPants
4 Replies
MUSSH(1)							   MUltihost SSH							  MUSSH(1)

NAME
mussh - MUltihost SSH SYNOPSIS
mussh [ OPTIONS ] <-h host... | -H hostfile > [-c cmd ] [-C scriptfile ] DESCRIPTION
mussh is a shell script that allows you to execute a command or script over ssh(1) on multiple hosts with one command. When possible mussh will use ssh-agent(1) and RSA/DSA keys to minimize the need to enter your password more than once. OPTIONS
--help Prints full help text. -d Same as -d 1 -d 0 Turns debug mode off. -d 1 On STDERR prints out basic actions and ssh-agent activity and which host is being connected to. -d 2 Includes all of the output from -d1, the list of hosts, the command/script as it will be executed on each host, and a lot more. -v Same as -v 1 -v 1 Sets ssh in debug1 mode by passing "-v" to ssh. -v 2 Sets ssh in debug2 mode by passing "-v -v" to ssh. -v 3 Sets ssh in debug3 mode by passing "-v -v -v" to ssh. -m [n] Run concurrently on 'n' hosts at a time (asynchronous). Use '0' (zero) for infinite. (default) -q No output unless necessary. This will cancel -d and -v if after them on the command line. It also suppresses the output of each host. This will NOT suppress the password/passphrase prompts required to log into each host. -i <identity> [identity ..] Load an identity file. When -i is used, the specified identity file(s) is loaded instead of the default identity. You can load as many RSA/DSA identities as you'd like. -o <ssh-args> Args to pass to ssh with -o option. See the ssh(1) man page for more info on the -o option. -a Force loading ssh-agent. Without this flag, mussh will not load another agent when one is already loaded. -A Do NOT load ssh-agent. If no agent is loaded you will be prompted for a password or passphrase by ssh for each host. If you do not have RSA/DSA keys for the destination hosts, this will save you some hassle. -b Print each hosts' output in a block without mingling with other hosts' output. -B Allow hosts' output to mingle. (default) -u Unique. Eliminate duplicate hosts. (default) If you a host or user@host occurs more than once across files specified with -H or hosts specified with -h, the host or user@host is used only once. -U Do NOT make host list unique. This simply overrides the -u flag. This will cause scripts to be executed on duplicate hosts once per listing. -P Do NOT fall back to passwords on any host. This will skip hosts where keys fail. If you use this with '-d' you'll still see which hosts failed. -l <login> Use 'login' when no other is specified with hostname. -L <login> Force use of 'login' name on all hosts. These can be handy for adding 'root@' to hostnames kept in a file for -H option. With -h it means you get to type less. -s <shell> Path to shell on remote host. (Default: bash) -t <secs> Timeout setting for each session. (requires openssh 3.8 or newer) -V Print version info and exit. PROXY ARGS
-p [user@]<host> Host to use as proxy. (Must have mussh installed) -po <ssh-args> Args to pass to ssh on proxy with -o option. HOST ARGS
-h [user@]<host> [[user@]<host> ..] Add a host to list of hosts. May be used more than once. -H <file> [file ..] Add contents of file(s) to list of hosts. Files should have one host per line. Use "#" for comments. COMMAND ARGS
If neither is specified, commands will be read from standard input. -c <command> Add a command or quoted list of commands and args to list of commands to be executed on each host. May be used more than once. -C <file> [file ..] Add file contents to list of commands to be executed on each host. May be used more than once. PROXY MODE
When proxying, mussh can use a single remote server to as a bastion host. All hosts will be connected to from the central host rather than from the computer where you are initially running mussh. This can be handy when you only have access to one machine behind a firewall. The proxy host must have OpenSSH 2.3 or greater, or an sshd that works with ForwardAgent under ssh2. Proxy server must also have mussh installed in your PATH. To verify that it is in your path use "ssh user@proxy 'which mussh'". Use "ssh user@proxy 'echo $PATH'" to deter- mine what your path is. SSH-AGENT INTERACTION Assuming that you're not turning off the agent with '-A' mussh will attempt to use ssh-agent(1). Normally mussh will get rid of the agent when it exits. See EXAMPLES for examples. EXAMPLES
There is an EXAMPLES file with detailed examples. The basic command: $ mussh -h foo bar baz A simple command: $ mussh -h foo bar baz -c 'rpm -e emacs' A simple command asynchronously: $ mussh -h foo bar baz -c 'rpm -e emacs' -m Using a specific key: $ mussh -h foo bar baz -c 'rpm -e emacs' -i ~/.ssh/my_other.key Loading a list of hosts from a file: $ mussh -H /tmp/hostlist.txt -c 'rpm -e emacs' Loading a script from a file: $ mussh -h foo bar baz -C /tmp/scriptfile.sh BUGS
Please report any bugs at http://sourceforge.net/projects/mussh/ AUTHOR
Dave Fogarty <doughnut at doughnut dot net> SEE ALSO
ssh(1), ssh-agent(1) Doughnut August 2005 MUSSH(1)
All times are GMT -4. The time now is 10:59 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy