connect to multiple servers using SSH and execute commands


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting connect to multiple servers using SSH and execute commands
# 1  
Old 09-07-2011
connect to multiple servers using SSH and execute commands

Requirement:

Run a shell script with below inputs
file name
checksum
path

the script should go to multiple servers (around 35) and verify the input cksum and if there is a mismatch display a simple message to the user that cksum verification failed.

host details, user id / password are all constant and can be hardcoded in some file or directly in the script.

In short a shell script is requried which can login to another machine and execute the cksum for the file in the given path and return the output

pls assist, i did google a bit and didnt find a proper solution

thanks in advance!!!
# 2  
Old 09-07-2011
UNIX tools are so flexible that hunting for a way to login and do checksums is like hunting for a programming language designed to print the letter 'A'. Not likely someone's going to have had the exact same problem as you, but you can use things you know and put them together... like ssh, and loops:

Code:
#!/bin/sh

while read SERVER
do
        # Using "/bin/sh -s" lets us carefully control what inputs we give the remote program.
        # Arguments after the -s will show up as $1, $2, $3...  The program itself is read
        # from standard input.  We pipe it in with a here-document.
        ssh username@"$SERVER" /bin/sh -s "filename" "checksum" "path" <<"EOF"
                echo "Filename is $1"
                echo "Checksum is $2"
                echo "Path is $3"
# This EOF ought to be at the beginning of the line and NOT indented.
EOF
done < serverlist

If you know how to verify the checksum on a local server, you know how to do so on a remote server: Just write the code between the <<"EOF" and EOF. No local variables will make it in except ones you put on the commandline, like where "filename" "checksum" "path" is.

If you don't, I'll need more information on what exactly you're trying to do -- what form of checksum for example.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Assistance to connect to servers via ssh once and collect various commands into separate variables

Hello, We use as bash script to connect to servers listed in an .csv file to issue commands against these servers and retrieve data to be saved in a .csv file. The data we want to collect is saved in variables. We issue an ssh command for each variable we want to capture. I'm thinking this is... (9 Replies)
Discussion started by: greavette
9 Replies

2. UNIX for Dummies Questions & Answers

How can we connect multiple servers at a time?

help me (0 Replies)
Discussion started by: sonu pandey
0 Replies

3. Shell Programming and Scripting

Ssh multiple hops to execute commands with arguments

Hi I need to write a script to ssh through several hops (e.g. HostA-HostB-HostC-HostD), where Host A does not have direct assess to HostC ; HostB cannot access HostD directly. when I ssh 3 hops and run command with arg1, arg2 and redirect the output to a file, e.g. HostA> ssh -t HostB ssh -t... (3 Replies)
Discussion started by: chiensh
3 Replies

4. Shell Programming and Scripting

Shell script help to execute ssh remote commands

Hi, The below command is not giving me the count , Can somebody help me in re-writing this pls . Proc_Exist=`ssh -q -o "BatchMode=yes" -o "PasswordAuthentication=no" $OAUSER@${Primary_Node} ps -ef | grep -v grep | grep "${ICM_Proc}" |wc -l ` Also the same problem with below... (13 Replies)
Discussion started by: Y.balakrishna
13 Replies

5. Shell Programming and Scripting

Script to execute command to get info from multiple servers

Hi, I want to collect info from a no. of servers whether there grub.conf contain "elevator" parameter or not. What I want is sudo cat /etc/grub.conf | grep -q "elevator=noop"; echo $? If output is "0", I want name of that host in a file called "present" if its not "0", I want that... (4 Replies)
Discussion started by: stunn3r
4 Replies

6. Shell Programming and Scripting

Script for login to servers with user name and password and execute commands

I am having the 15 servers which need to do the monitoring Hi I need a shell script, By which i can log in to multiple servers and execute the commands.. I need to specify the username and password in the scripts. Please help me to write the script so that it can login with username and... (5 Replies)
Discussion started by: nandan8a
5 Replies

7. Shell Programming and Scripting

Shell script to connect to multiple ssh servers

Hello, I have access to several linux servers (mostly centos based) located in a DC in another country. from day to day I need to login to each of them to do some work (they dont have gui/window manager installed, I work only from console), or even to just do a check like df -h for disc usage.... (3 Replies)
Discussion started by: MaRiOsGR
3 Replies

8. Shell Programming and Scripting

bash script to execute a command remote servers using ssh

Hello, I am running into few issues, please suggest me what I am missing. I am running this script on a linux host. Main idea of this script is to, login to each host via ssh and get uid of user, service user that I trying to run this script, has already deployed ssh keys and provide sudo... (8 Replies)
Discussion started by: bobby320
8 Replies

9. Shell Programming and Scripting

Execute ssh commands through bash script

Hi all! I am trying to write a script that will check if a certain directory is available at several different nodes and then do stuff in it ..... On the beginning of the script I give as a variable the directory and the number of the nodes and then I loop like this: for... (3 Replies)
Discussion started by: idet2
3 Replies

10. Shell Programming and Scripting

ssh - to execute set of commands

Hi Can someone help me to figure out Want to execute few cmds in remote host thru ssh Tried below cmd -------------------------------excerpt------------------- RDIR=/data1/logs ---> variable stores rem. server directory TODAY="`date '+%b %d'`" ssh -i $userid@$host "cd... (2 Replies)
Discussion started by: id100
2 Replies
Login or Register to Ask a Question