Find not finding stuff if run remotely


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Find not finding stuff if run remotely
# 1  
Old 03-31-2014
Find not finding stuff if run remotely

Hello
I'm working on script to find tomcat on all my servers. Then find out what version of tomcat is installed. Basically I want to check and see if the latest version is installed. I'm testing the script on Solaris 10. I'm also going to need it to work on RHEL and SLES.

If I run the following find command remotely, It doesn't find the file. If I run it on the server locally it it finds this file: /usr/serena/vm/common/tomcat/bin/version.sh

Local command
Code:
sudo find / \( -name 10_Recommended* -o -name share \) -prune -o -type f -name version.sh -print 2>/dev/null


The script

Code:
for s in `cat sol`
do echo $s
ssh -q  $s sudo find / \( -name 10_Recommended* -o -name share \) -prune -o -type f -name version.sh -print 2>/dev/null
done

Can someone tell me why this is happening?
# 2  
Old 03-31-2014
The \( becomes a ( without the \ when you send it via ssh that way. Try surrounding everything with single-quotes to send it literally. Also, 10_reccommended* really ought to be quoted there.

Also, that's a useless use of cat. Use a while read loop and use ssh -n.

Code:
while read s
do
        echo $s
        ssh -n -q  $s sudo 'find / \( -name "10_Recommended*" -o -name share \) -prune -o -type f -name version.sh -print 2>/dev/null'
done < sol

These 2 Users Gave Thanks to Corona688 For This Post:
# 3  
Old 03-31-2014
Corona688,
Thanks for replying. Tried did what you said, but I'm still not getting anything. It just prints out the hostnames in the file. It looks like it is not doing the search.

If I surround the find command with ' and 10_Recomended with " my for loop now works.

Thanks for your help.

Last edited by bitlord; 03-31-2014 at 04:45 PM..
# 4  
Old 03-31-2014
Check that you have passwordless sudo access for these machines. It might be trying to ask for a password, seeing no terminal, and giving up.
# 5  
Old 03-31-2014
My ssh-agent is working fine.
# 6  
Old 03-31-2014
That has nothing to do with sudo.
# 7  
Old 03-31-2014
I can sudo without a password and I even put the full path of sudo in the find command.

Anyway, my for loop works fine with your suggested modifications. I just can't get the while loop to work. You more or less gave me the answer.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Run yes/no script remotely

I have this script in server2 # cat /root/yesno.sh #!/bin/bash read -p "are you sure?" -n 1 -r if $ ]]; then echo "" echo "YES" else echo "NO" fi # sh /root/yesno.sh are you sure?y YES (5 Replies)
Discussion started by: anil510
5 Replies

2. UNIX for Advanced & Expert Users

Finding the hardware model name remotely

First, forgive me if this is a stupid questions that I should have asked in the non-expert forum. It seems like a hard questions to me. Is there a way to find the hardware model name from the command line on UNIX machines in general? I want to find out what kind of machines are running at a... (5 Replies)
Discussion started by: Pug
5 Replies

3. Shell Programming and Scripting

Create a list of commands in a central location, and then run them all remotely through a ssh here

I'm trying to write a script that in the end will from one central location hop to a bunch of servers and then run a series of ping tests. The thing is, the list of devices that needs to be pinged is going to be different for each server. So what I want to do is be able to do is read through the... (0 Replies)
Discussion started by: DeCoTwc
0 Replies

4. Shell Programming and Scripting

howto run remotely call function from within script

Hi I have the following script : #!/bin/ksh #################### Function macAddressFinder ######################## macAddressFinder() { `ifconfig -a > ipInterfaces` `cat ipInterfaces` } ####################################################################### # # print... (2 Replies)
Discussion started by: presul
2 Replies

5. Shell Programming and Scripting

help needed. run shell scipt remotely

Dear all , I have a script. this script called get.sh and can get some solaris infomation and save the result as result.tar.gz. the problem is : we have 12 servers. every time. I need to login 12 server and do the same job 12 times.:mad: master server ... (2 Replies)
Discussion started by: chinesefish
2 Replies

6. Shell Programming and Scripting

how to avoid space to run remotely

If I run the following command remotely after ssh than it works fine su - oracle -c "/oracle/product/102/db/bin/dbshut" But If I run the following command it doesn't work su - oracle -c "/oracle/product/102/db/bin/lsnrctl stop" Because I think there is a space is present between lsnrctl and... (1 Reply)
Discussion started by: madhusmita
1 Replies

7. UNIX for Dummies Questions & Answers

Exit from telnet when run Remotely

ssh user@host -q -n 'grep `hostname` /etc/hosts; telnet 10.100.23.45 1234;' When i run this command remotely it is hanging and not giving me the prompt, Can anyone tell me how can I exit a telnet command remotely please. Thanks. (10 Replies)
Discussion started by: venu_nbk
10 Replies

8. Shell Programming and Scripting

Finding your current run lvl

The title says it all really. I am writing a shell script for a Linux box, and I have recently run into a problem. I need to make sure I am at a certain run level first. Hence, the question. How can I find out what run level the box is currently running at? Is there a system variable... (2 Replies)
Discussion started by: Scripting Newb
2 Replies

9. Shell Programming and Scripting

find - finding files.

I understand that to find a type of file using command find I could do "find -type f -name \*.htm -print". However, I wish to find all files BUT *.htm. Can I negate the search somehow? Again, I have peeked into the man files etc... If anyone has an answer, Thanks in Advance! (3 Replies)
Discussion started by: gsjf
3 Replies

10. UNIX for Dummies Questions & Answers

Finding out how long a command takes to run

Hi I am trying to find out the best way to find out how long a command takes to run in miliseconds .. Is there such a way of doing this in Unix ? Thanks (3 Replies)
Discussion started by: cfoxwell
3 Replies
Login or Register to Ask a Question