From: invincible on
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.... __.____._
From: pk on
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.
From: Glenn Jackman on
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
From: Ed Morton on


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.

From: invincible on
On Apr 21, 5:18 pm, pk <p...(a)pk.invalid> 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.