Sponsored Content
Top Forums Shell Programming and Scripting How to run same script on multiples servers Post 302336315 by mglenney on Tuesday 21st of July 2009 08:15:48 PM
Old 07-21-2009
If you run an ssh command remotely the stdout from the command is returned to your local terminal. You can capture it there and send to a local file. So, say you want the output of the date command from multiple servers put in a file and then emailed. You could just:

Code:
#!/bin/bash
hosts=( host1 host2 host3 )
for ((i=0;i<${#hosts[@]};i++)); do
  ssh me@${hosts[$i]} "date" >> outputfile &
done
wait
mail -s "Results" me@domain.com < outputfile

if it's a script that has to run they you could have it in a shared location and run it

Code:
  ssh me@${hosts[$i]} "/path/to/script.sh" >> outputfile &

If there's something in the script that varies by server you're just going to have to work that out. Either have a different script in each location or, if you need more automation, have it accept command line input for the difference and pass it with the script:

Code:
#!/bin/bash
hosts=( host1 host2 host3 )
var=( var1 var2 var3 )
for ((i=0;i<${#hosts[@]};i++)); do
  ssh me@${hosts[$i]} "/path/to/script.sh ${var[$i]}" >> outputfile &
done
wait
mail -s "Results" me@domain.com < outputfile

(As you can see I'm an array junkie. Might be overkill here. Dunno. Works for me though Smilie If you need any parts of my example explained please don't hesitate to ask)
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

ksh to run servers

I want to write a Kshell program which will start the servers(Oracle,DataIntegrator). Can anybody help me with this? I would appreciate your help. Thanks in advance (0 Replies)
Discussion started by: pari111222
0 Replies

2. AIX

is it ok to run AIX mksysb script on vio servers?

Hi to all now we running mksysb to nim on aix servers. we are planning to take mksysb from vio servers. can we use the same script for vio servers. thanks (10 Replies)
Discussion started by: honeym210
10 Replies

3. UNIX for Advanced & Expert Users

Command to run across servers

Hi, I have to run several unix commands like lsof or sed and need to execute across different servers as part of my monitoring tasks. There are around 40 Unix Servers. It is really cumbersome to run those command on several servers. can some help me in this regard. Is it possible to run... (6 Replies)
Discussion started by: john_prince
6 Replies

4. Shell Programming and Scripting

Need a script to run on multiple mail servers..

Hello, I am a Unix newbie and I need a script in which I can run a command on multiple servers at work. The command is to start a storage process and I am sick of doing it manually on all servers.. Here's the command: /opt/bss/bin/snmptable -CB -v2c -c P67LzuBm hostname hrStorageTable... (4 Replies)
Discussion started by: kinyyy
4 Replies

5. Shell Programming and Scripting

run vi/vim encrypted shell script without decryption on multiple servers

Hello Everyone, How do we run vi/vim encrypted shell script without decryption on multiple servers. It is a simple bash script and vim -nx <filename> has been used to encrypt with desired password. Now I have few errors, the syntax is absolutely fine as I have run that script multiple times on... (0 Replies)
Discussion started by: lovesaikrishna
0 Replies

6. Shell Programming and Scripting

Run a script in parts on 2 servers

Hi all, I have a task for which I need to run some commands on one server1 and then jump from the server1 (using ssh and asking user to enter login credentials manually for server2 server) to server2 and run some commands there and exit. I know the script I need here but problem is when I... (5 Replies)
Discussion started by: pat_pramod
5 Replies

7. Shell Programming and Scripting

Run multiples jobs in background mod

Hi, I have a problem runnig from script two diferents process in background mod. Is there a limitation to do this? For example echo "Running process one:" ./ProcessOne & echo "Running process two:" ./ProcessTwo & echo "The process are runnig. Bye" The problem is that the... (7 Replies)
Discussion started by: Xedrox
7 Replies

8. AIX

How to write a script to run without password on a batch of servers?

I need run a command such as ps -ef |grep xxx on a batch of servers, how to write a script to run it without password? don't need go in each server to check? Thanks (7 Replies)
Discussion started by: rainbow_bean
7 Replies

9. Shell Programming and Scripting

Run a script on multiple servers

I need to run a script on a bunch of remote servers. how can this be done without ssh into each individual server and run it its under /sbin/script.sh on each server (1 Reply)
Discussion started by: tdubb123
1 Replies

10. Shell Programming and Scripting

Run a shell script on all 15 servers at the same time?

We have 15 servers. Hostnames for these 15 servers are stored in a text files and loop through each server to connect to the remote server and run a command, but this loop process runs the command one after another. However, the requirement is to run the same command on all 15 servers at the same... (10 Replies)
Discussion started by: laknar
10 Replies
SCRIPT(1)						    BSD General Commands Manual 						 SCRIPT(1)

NAME
script -- make typescript of terminal session SYNOPSIS
script [-a] [-k] [-q] [-t time] [file [command ...]] DESCRIPTION
The script utility makes a typescript of everything printed on your terminal. It is useful for students who need a hardcopy record of an interactive session as proof of an assignment, as the typescript file can be printed out later with lpr(1). If the argument file is given, script saves all dialogue in file. If no file name is given, the typescript is saved in the file typescript. If the argument command ... is given, script will run the specified command with an optional argument vector instead of an interactive shell. Options: -a Append the output to file or typescript, retaining the prior contents. -k Log keys sent to program as well as output. -q Run in quiet mode, omit the start and stop status messages. -t time Specify time interval between flushing script output file. A value of 0 causes script to flush for every character I/O event. The default interval is 30 seconds. The script ends when the forked shell (or command) exits (a control-D to exit the Bourne shell (sh(1)), and exit, logout or control-d (if ignoreeof is not set) for the C-shell, csh(1)). Certain interactive commands, such as vi(1), create garbage in the typescript file. The script utility works best with commands that do not manipulate the screen. The results are meant to emulate a hardcopy terminal, not an addressable one. ENVIRONMENT
The following environment variable is utilized by script: SHELL If the variable SHELL exists, the shell forked by script will be that shell. If SHELL is not set, the Bourne shell is assumed. (Most shells set this variable automatically). SEE ALSO
csh(1) (for the history mechanism). HISTORY
The script command appeared in 3.0BSD. BUGS
The script utility places everything in the log file, including linefeeds and backspaces. This is not what the naive user expects. It is not possible to specify a command without also naming the script file because of argument parsing compatibility issues. When running in -k mode, echo cancelling is far from ideal. The slave terminal mode is checked for ECHO mode to check when to avoid manual echo logging. This does not work when in a raw mode where the program being run is doing manual echo. BSD
June 6, 1993 BSD
All times are GMT -4. The time now is 03:47 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy