running commands to remote host from centralized host


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting running commands to remote host from centralized host
# 1  
Old 08-17-2009
running commands to remote host from centralized host

Gurus/Experts

We have a centralized UNIX/Solaris server from where we can actually ssh to all other UNIX/Solaris servers...I need to write a script that reside on this centerlized server and do FileSystem monitoring (basically run df -h or -k) of other remote servers and then send an email to me something like below (just an example)......we have got plenty of these server running many databases

Server A
========
/oracle/DATABASE_A/archivelog/ 90% full

Server B
========
/oracle/DATABASE_B/archivelog/ 20% full

Could anyone please help?
# 2  
Old 08-17-2009
Create a file that has all of your hosts listed within it:
Code:
servername1
servername2
servername3
etc.c.

Then, on the central host:
Code:
for host in `cat /path/to/hostlist`; do echo $host; echo "========"; ssh $host df -h | awk '{print $1"\t"$5}'; echo; done >> output_file

I'm sure that there's an awk command to skip the first line, but it escapes me at the moment....
# 3  
Old 08-17-2009
Quote:
Originally Posted by avronius
Create a file that has all of your hosts listed within it:
Code:
servername1
servername2
servername3
etc.c.

Then, on the central host:
Code:
for host in `cat /path/to/hostlist`; do echo $host; echo "========"; ssh $host df -h | awk '{print $1"\t"$5}'; echo; done >> output_file

I'm sure that there's an awk command to skip the first line, but it escapes me at the moment....
This promts for password, Is there any way to pass password to ssh,thru any file..?
# 4  
Old 08-18-2009
Quote:
Originally Posted by sunilmenhdiratt
This promts for password, Is there any way to pass password to ssh,thru any file..?
Just search this site for "Public Key Authentication"
# 5  
Old 08-18-2009
Quote:
Originally Posted by avronius
[code]for host in `cat /path/to/hostlist`; do echo $host; echo "========"; ssh $host df -h | awk '{print $1"\t"$5}'; echo; done >> output_file [/code
Too fast, you forgot the quote's for remote command ... and try to win the UUOC award in the same time Smilie
Code:
while read H; do ssh $H "df -h" | awk 'BEGIN{printf "%s\n%s\n","'"$H"'","========"}NR>1{printf "%s\t%s\n",$1,$5}END{printf "\n"}';done < /path/to/hostlist > output_file


Last edited by danmero; 08-18-2009 at 06:11 AM.. Reason: make shorter
# 6  
Old 08-18-2009
Hmmm - I was under the impression that the piped awk takes place on the host that the script is running on - not the remote host - does it not?

---------- Post updated at 06:34 AM ---------- Previous update was at 06:31 AM ----------

One day this site will break me of my reliance on cat, but apparently it wasn't yesterday Smilie
# 7  
Old 08-18-2009
Thanks...few things to clear; we do need password to connect to remote hosts from this centralized server.....

I have changed things a bit; I have managed to ssh <sever1> and run the script located on the remote server (i.e. server1); but output of the script is needed to send back to the centralized server; the script is below that I am planing to run on each server.....

how can I send output of below script back to centralized server in a file; and i need that file mailed to me?


--Script to connect to remote servers from centeralized host
while read H; do ssh $H /ora/rman/scripts/bk1.sh 'BEGIN{printf "%s\n%s\n","'"$H"'","========"}NR>1{printf "%s\t%s\n",$1,$5}END{printf "\n"}';done < /export/h
ome/oracle/servers.lst > out.txt

File servers.lst contains

server1
server2

But I think its only working for server1

--The script will go to the archivelog directory and check for successful and failed archivelog backups (each server hosts many databases)

chkbck ()
{
for i in `ls /ora/rman/logs/`;
do
find /ora/rman/logs/$i/backup_a*.log -mtime -1 2>/dev/null
done
}

for i in `chkbck`;
do
print $i | cut -d"_" -f3
print $i
grep Exit $i

if egrep -i 'exit status 1' $i
then
print $i
fi

done
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

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... (5 Replies)
Discussion started by: lovesaikrishna
5 Replies

2. 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

3. Shell Programming and Scripting

Login to remote host and execute commands

Hi, i want to write script where it will login into 50 hosts and if login is successful it print message "login to host1 is successful" if not it should print message "Not able to login to host1". once connection to the host is succesful it should fire df command to check filesystem if df is... (3 Replies)
Discussion started by: amru8810
3 Replies

4. Solaris

Need to recover/move diskgroup from failed host to another host

Hi All I am having VxVm on two Solaris hosts. host1 is using disk group dgHR. right now this server went down due to hardware fault. Not I need to import this dgHR into host2 server. Please let me know the procedure for the same. (1 Reply)
Discussion started by: amity
1 Replies

5. UNIX for Advanced & Expert Users

Help! How to find the local host after few ssh hops to remote host???

I do a ssh to remote host(A1) from local host(L1). I then ssh to another remote(A2) from A1. When I do a who -m from A2, I see the "connected from" as "A1". => who -m userid pts/2 2010-03-27 08:47 (A1) I want to identify who is the local host who initiated the connection to... (3 Replies)
Discussion started by: gomes1333
3 Replies

6. Shell Programming and Scripting

Run a shell script from one host which connext to remote host and run the commands

I want to write a script which would run from one host say A and connect to other remote host B and then run rest of commands in that host. I tried connecting from A host to B with SSH but after connecting to host B it just getting me inside Host B command prompt. Rest of the script is not running... (6 Replies)
Discussion started by: SN2009
6 Replies

7. UNIX for Advanced & Expert Users

Running command "md5" on remote host not working.

My question is very strange. I can run ls command on remote host using ssh successfully. but when i try to run /sbin/md5 command on remote host. it doesnt run and get back to me on command prompt. md5 command is exist on remote host. This is what i tried which ran successfully. Query -... (1 Reply)
Discussion started by: ynilesh
1 Replies

8. UNIX for Dummies Questions & Answers

Sending Commands to a Remote Host

I am trying to write a script that logs into an SMTP server and authenticates as a user or verifies that a user exists. I can do all this from the command line but I don't know how to write a script to do this for me, I login and then the script stops, I'm sure this is some basic principle. ... (3 Replies)
Discussion started by: safetytrick
3 Replies

9. Solaris

How to delete the files from local host to remote host

Hi all, i am copying .gz files from production server to development server using "scp" command.my requirement is after copying .gz files i want to delete old .gz files(two days back) in development server from production server. like this way i need to delelte .log ,.z and .dmp files... (3 Replies)
Discussion started by: krishna176
3 Replies

10. IP Networking

QNX host cannot ping SCO host, vice versa

The problem I am facing now is that the QNX host could not ping the SCO host and vice versa. They are in the same domain, ie, 172.20.3.xx. As I am very new to Unix, I guess I must have missed out some important steps. Pls help... Thanx alot (2 Replies)
Discussion started by: gavon
2 Replies
Login or Register to Ask a Question