Solved

Script or command to: List a directory and cat a file on multiple servers

Posted on 2014-04-14
3
594 Views
Last Modified: 2014-04-14
I'd like to write a quick script in bash to list the contents of a file located in /home/users/thisfile.txt

For example:

From
homeserver I'd like to execute a script called: what_thisfile.sh

whats_thisfile.sh should contain

ssh user@server_fus; cat /home/users/thisfile.txt
ls
read -s -n 1 -p "Press any key"
ssh user@server_cda; cat/home /users/thisfile.txt
ls
read -s -n 1 -p "Press any key"
...etc

The read command just pauses for a moment, so I can see what the file contains.

What's the best way to do what I'm describing? ...a command line for loop would be fine, it wouldn't have to be a script file.
0
Comment
Question by:Viclyn
  • 2
3 Comments
 
LVL 68

Accepted Solution

by:
woolmilkporc earned 500 total points
ID: 39999252
Create a file named e.g "servers.txt" containing your servernames, one per line.

Example:

server_fus
server_cda
server_foo
server_bar
server_baz


Then

for S in $(<servers.txt)
 do
   ssh -tt user@$S '
      cat /home/users/thisfile.txt
      ls
       read -s -n 1 -p "Press any key"  '
done

A one-liner is possible, but really "long":

for S in $(<servers.txt);  do ssh -tt user@$S 'cat /home/users/thisfile.txt;  ls;  read -s -n 1 -p "Press any key"  ';  done

Open in new window


If you can go without "read" (sleep e.g. 1 second instead) we can make it shorter:

xargs -I{} ssh user@{} "cat /home/users/thisfile.txt;  ls; sleep1" <servers.txt
0
 

Author Comment

by:Viclyn
ID: 39999383
The "Press any key" seems to be suppressed. It still works, I was just wondering if there was a way to have it displayed during each iteration...?

But, I consider this answered, and very much appreciate the help.
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39999385
Did you notice that I edited my answer to add the "-tt" flag to the ssh command?
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Suggested Solutions

Using libpcap/Jpcap to capture and send packets on Solaris version (10/11) Library used: 1.      Libpcap (http://www.tcpdump.org) Version 1.2 2.      Jpcap(http://netresearch.ics.uci.edu/kfujii/Jpcap/doc/index.html) Version 0.6 Prerequisite: 1.      GCC …
Over the years I've spent many an hour playing on hardened, DMZ'd servers, with only a sub-set of the usual GNU toy's to keep me company; frequently I've needed to save and send log or data extracts from these server back to my PC, or to others, and…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now