|
From: invincible on 21 Apr 2008 11:53 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 21 Apr 2008 12:18 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 21 Apr 2008 13:17 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 21 Apr 2008 14:16 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 22 Apr 2008 04:40
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. |