Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

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

Posted on 2014-04-14
3
623 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

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

SSH (Secure Shell) - Tips and Tricks As you all know SSH(Secure Shell) is a network protocol, which we use to access/transfer files securely between two networked devices. SSH was actually designed as a replacement for insecure protocols that sen…
Utilizing an array to gracefully append to a list of EmailAddresses
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.:
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

828 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