Remote Shell Execution Problem

Remote Shell Execution Problem

am 21.04.2008 17:53:15 von invincible

All,
Im trying to execute some commands on remote server thorugh script and
ssh.
When I run a normal command from prompt I do not get any error
messages but
when I run it thorugh script I get the execute permission denied
message.
Script is as below

#Checking the presence of tasks file
USR=abcd@
LISTSERVER="dubba libba"
OUTFILE=/home//testing/scriptoutput
#Create new file
>$OUTFILE
#Connect each server and pull up the listing
for host in $LISTSERVER
do
echo "------------------------------------------------" >>$OUTFILE
echo " * HOST : $host " >>$OUTFILE
ssh $USR$host "more /home/apps/conf/tasks.tbl|awk '{print \$1}'"
>>OUTFILE
done

The error enounterd is ...
../check_ps
/home/apps/conf/tasks.tbl: The file access permissions do not allow
the
specified action.
I can although run the command ssh USR$host "more
/home/apps/conf/tasks.tbl|awk '{print \$1}'" on the command prompt and
get
the desired result.
Hoping for some inputs.... __.____._

Re: Remote Shell Execution Problem

am 21.04.2008 18:18:14 von PK

On Monday 21 April 2008 17:53, invincible wrote:

> #Checking the presence of tasks file
> USR=abcd@
> LISTSERVER="dubba libba"
> OUTFILE=/home//testing/scriptoutput

Why does this have two slashes between "home" and "testing"?

> #Create new file
>>$OUTFILE
> #Connect each server and pull up the listing
> for host in $LISTSERVER
> do
> echo "------------------------------------------------" >>$OUTFILE
> echo " * HOST : $host " >>$OUTFILE
> ssh $USR$host "more /home/apps/conf/tasks.tbl|awk '{print \$1}'"
>>>OUTFILE

That should be $OUTFILE. Also, what's the point of piping the output
of "more" to awk, rather than the file directly?

These probably won't solve your problem, but are worth correcting.

--
All the commands are tested with bash and GNU tools, so they may use
nonstandard features. I try to mention when something is nonstandard (if
I'm aware of that), but I may miss something. Corrections are welcome.

Re: Remote Shell Execution Problem

am 21.04.2008 19:17:05 von Glenn Jackman

At 2008-04-21 11:53AM, "invincible" wrote:
> All,
> Im trying to execute some commands on remote server thorugh script and
> ssh.
> When I run a normal command from prompt I do not get any error
> messages but
> when I run it thorugh script I get the execute permission denied
> message.
[...]
> ssh $USR$host "more /home/apps/conf/tasks.tbl|awk '{print \$1}'"

Try replacing that with
ssh $USR$host env

and see if it's different between your command line and the script.


--
Glenn Jackman
"If there is anything the nonconformist hates worse than a conformist,
it's another nonconformist who doesn't conform to the prevailing
standard of nonconformity." -- Bill Vaughan

Re: Remote Shell Execution Problem

am 21.04.2008 20:16:50 von Ed Morton

On 4/21/2008 10:53 AM, invincible wrote:
> All,
> Im trying to execute some commands on remote server thorugh script and
> ssh.
> When I run a normal command from prompt I do not get any error
> messages but
> when I run it thorugh script I get the execute permission denied
> message.
> Script is as below
>
> #Checking the presence of tasks file
> USR=abcd@
> LISTSERVER="dubba libba"
> OUTFILE=/home//testing/scriptoutput
> #Create new file
>
>>$OUTFILE
>
> #Connect each server and pull up the listing
> for host in $LISTSERVER
> do
> echo "------------------------------------------------" >>$OUTFILE
> echo " * HOST : $host " >>$OUTFILE
> ssh $USR$host "more /home/apps/conf/tasks.tbl|awk '{print \$1}'"
>
>>>OUTFILE
>>
> done
>
> The error enounterd is ...
> ./check_ps
> /home/apps/conf/tasks.tbl: The file access permissions do not allow
> the
> specified action.
> I can although run the command ssh USR$host "more
> /home/apps/conf/tasks.tbl|awk '{print \$1}'" on the command prompt and
> get
> the desired result.
> Hoping for some inputs.... __.____._

I don't think it's related to your problem, but Im curious: what do you think this:

more file | awk '...'

does better than:

awk '...' file

and why "more" rather than "cat"?

Regards,

Ed.

Re: Remote Shell Execution Problem

am 22.04.2008 10:40:04 von invincible

On Apr 21, 5:18 pm, pk wrote:
> On Monday 21 April 2008 17:53, invincible wrote:
>
> > #Checking the presence of tasks file
> > USR=abcd@
> > LISTSERVER="dubba libba"
> > OUTFILE=/home//testing/scriptoutput
>
> Why does this have two slashes between "home" and "testing"?
>
> > #Create new file
> >>$OUTFILE
> > #Connect each server and pull up the listing
> > for host in $LISTSERVER
> > do
> > echo "------------------------------------------------" >>$OUTFILE
> > echo " * HOST : $host " >>$OUTFILE
> > ssh $USR$host "more /home/apps/conf/tasks.tbl|awk '{print \$1}'"
> >>>OUTFILE
>
> That should be $OUTFILE. Also, what's the point of piping the output
> of "more" to awk, rather than the file directly?
>
> These probably won't solve your problem, but are worth correcting.
>
> --
> All the commands are tested with bash and GNU tools, so they may use
> nonstandard features. I try to mention when something is nonstandard (if
> I'm aware of that), but I may miss something. Corrections are welcome.

Thanx all, the problem has been solved out with the help of good
memebers of this forum.

It seems it was all the small problem you all had listed out which was
creating the issue.

Re: Remote Shell Execution Problem

am 22.04.2008 10:40:56 von invincible

On Apr 21, 7:16 pm, Ed Morton wrote:
> On 4/21/2008 10:53 AM, invincible wrote:
>
>
>
> > All,
> > Im trying to execute some commands on remote server thorugh script and
> > ssh.
> > When I run a normal command from prompt I do not get any error
> > messages but
> > when I run it thorugh script I get the execute permission denied
> > message.
> > Script is as below
>
> > #Checking the presence of tasks file
> > USR=abcd@
> > LISTSERVER="dubba libba"
> > OUTFILE=/home//testing/scriptoutput
> > #Create new file
>
> >>$OUTFILE
>
> > #Connect each server and pull up the listing
> > for host in $LISTSERVER
> > do
> > echo "------------------------------------------------" >>$OUTFILE
> > echo " * HOST : $host " >>$OUTFILE
> > ssh $USR$host "more /home/apps/conf/tasks.tbl|awk '{print \$1}'"
>
> >>>OUTFILE
>
> > done
>
> > The error enounterd is ...
> > ./check_ps
> > /home/apps/conf/tasks.tbl: The file access permissions do not allow
> > the
> > specified action.
> > I can although run the command ssh USR$host "more
> > /home/apps/conf/tasks.tbl|awk '{print \$1}'" on the command prompt and
> > get
> > the desired result.
> > Hoping for some inputs.... __.____._
>
> I don't think it's related to your problem, but Im curious: what do you think this:
>
> more file | awk '...'
>
> does better than:
>
> awk '...' file
>
> and why "more" rather than "cat"?
>
> Regards,
>
> Ed

I had some issues with cat initialliay , but I have now replaced the
cat. and it seems to solve the issue out.

Re: Remote Shell Execution Problem

am 22.04.2008 13:52:39 von Ed Morton

On 4/22/2008 3:40 AM, invincible wrote:
> On Apr 21, 7:16 pm, Ed Morton wrote:
>
>>On 4/21/2008 10:53 AM, invincible wrote:
>>
>>
>>
>>
>>>All,
>>>Im trying to execute some commands on remote server thorugh script and
>>>ssh.
>>>When I run a normal command from prompt I do not get any error
>>>messages but
>>>when I run it thorugh script I get the execute permission denied
>>>message.
>>>Script is as below
>>
>>>#Checking the presence of tasks file
>>>USR=abcd@
>>>LISTSERVER="dubba libba"
>>>OUTFILE=/home//testing/scriptoutput
>>>#Create new file
>>
>>>>$OUTFILE
>>>
>>>#Connect each server and pull up the listing
>>>for host in $LISTSERVER
>>>do
>>>echo "------------------------------------------------" >>$OUTFILE
>>>echo " * HOST : $host " >>$OUTFILE
>>>ssh $USR$host "more /home/apps/conf/tasks.tbl|awk '{print \$1}'"
>>
>>>>>OUTFILE
>>>>
>>>done
>>
>>>The error enounterd is ...
>>>./check_ps
>>>/home/apps/conf/tasks.tbl: The file access permissions do not allow
>>>the
>>>specified action.
>>>I can although run the command ssh USR$host "more
>>>/home/apps/conf/tasks.tbl|awk '{print \$1}'" on the command prompt and
>>>get
>>>the desired result.
>>>Hoping for some inputs.... __.____._
>>
>>I don't think it's related to your problem, but Im curious: what do you think this:
>>
>> more file | awk '...'
>>
>>does better than:
>>
>> awk '...' file
>>
>>and why "more" rather than "cat"?
>>
>>Regards,
>>
>> Ed
>
>
> I had some issues with cat initialliay , but I have now replaced the
> cat. and it seems to solve the issue out.

OK, but hopefully you realise you don't need "cat" at all in this example and by
"replaced" you actually mean "removed"...

Ed.