|
|
|
|
||||||
| comp.unix.shell Using and programming the Unix shell. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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.... __.____._ |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
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. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
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 |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
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. |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
On Apr 21, 5:18 pm, pk <p...@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 of good memebers of this forum. It seems it was all the small problem you all had listed out which was creating the issue. |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
On Apr 21, 7:16 pm, Ed Morton <mor...@lsupcaemnt.com> 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. |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
On 4/22/2008 3:40 AM, invincible wrote: > On Apr 21, 7:16 pm, Ed Morton <mor...@lsupcaemnt.com> 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. |
|
![]() |
| Outils de la discussion | |
|
|