P
pygo
Jungspund
Hallo!
Ich habe hier ein seltsames Phänomen, dass ich mir gerade nicht erklären kann und auch nicht weiss, wo ich Informationen dazu finden könnte. Ich mache in einem Perl-Script einen rsh-Aufruf. (Ja, soll ich nicht mehr, geht hier aber nicht anders und eigentlich sollte das auch nicht der Grund für das obskure Verhalten sein.) In dem Script, mit dem ich nur getestet habe, läufts super. Hier der Auszug aus dem Script:
gibt das folgende aus, das so auch auf der Kommandozeile käme und völlig erwartet ist:
Dann wollte ich es allerdings übertragen in mein 'Hauptscript' und habe es erst reingepastet und dann angepasst (der hostname sollte zum Beispiel erst ausgelesen werden etc):
und da erhalte ich als Ausgabe auf einmal
Ich kann dann sogar in dem Kommandofenster, in dem ich das Script gestartet habe Befehle an den entsprechenden Host schicken. Wie kann denn sowas vorkommen? Ich sehe keinen Unterschied zwischen den beiden Aufrufen...
Ok, ich sehe da eine Zeile, die mir was von "execute permission denied" erzählt. Aber ist das überhaupt mein Aufruf und wieso steht das erstens überhaupt in diesem Kontext und zweitens die permission ist mit dem anderen Script ja auch da.
Ich wäre für jede Idee erst mal dankbar!
Beste Grüsse - Pygo
Ich habe hier ein seltsames Phänomen, dass ich mir gerade nicht erklären kann und auch nicht weiss, wo ich Informationen dazu finden könnte. Ich mache in einem Perl-Script einen rsh-Aufruf. (Ja, soll ich nicht mehr, geht hier aber nicht anders und eigentlich sollte das auch nicht der Grund für das obskure Verhalten sein.) In dem Script, mit dem ich nur getestet habe, läufts super. Hier der Auszug aus dem Script:
Code:
[...]
my $server = 'fs00c1';
open(PS, "rsh $server -l perforce ps -efa | grep 'tail +0f /cluster' | ");
while(<PS>){
print $_;
}
close(PS);
Code:
perforce 24101 23900 0 10:24:06 ? 0:00 tail +0f
/cluster/3008/log/log_3008
perforce 13796 13795 0 13:20:50 ? 0:00 tail +0f
/cluster/3402/log/log_3402
perforce 23865 23863 0 10:24:04 ? 0:00 tail +0f
/cluster/4004/log/log_4004
Dann wollte ich es allerdings übertragen in mein 'Hauptscript' und habe es erst reingepastet und dann angepasst (der hostname sollte zum Beispiel erst ausgelesen werden etc):
Code:
[...]
# get the hostname for this server
open(HOST, "rsh perforce$server -l perforce hostname |");
my $host = <HOST>;
close(HOST);
# kill all running tails on the host
my $hostCommand = "tail +0f $logfile";
print $hostCommand."\n";
open(PS, "rsh ".$host." -l perforce ps -efa | grep '".$hostCommand."' | ");
while(my $psLine = <PS>){
print "PSline ".$psLine;
if($psLine =~ / *?[a-zA-Z]+? (\d+?) /){
# this line indicates a running tail that should be quit
my $pidToKill = $1;
open(STOP, "rsh $host -l perforce kill -9 ".$pidToKill." | ");
close(STOP);
}
}
close(PS);
[...]
Code:
tail +0f /cluster/3402/log/log_3402
PSline Last login: Tue Dec 13 09:11:49 from ls0066.xxx.yyy-
PSline #
PSline # PrimeCLuster fs00c
PSline #
PSline # ######################################################
PSline # !! DO NOT change * perf9999 * configuraion
PSline # !! cause this service is the source for new one
PSline # ######################################################
PSline
PSline Mirroring Base LUNs/slices:
PSline
PSline Rot(es1000) Wdf(es1001)
PSline /dev/dsk/c3t0d0s6 <-> /dev/dsk/c4t2d0s6
PSline /dev/dsk/c3t1d1s6 <-> /dev/dsk/c4t3d1s6
PSline /dev/dsk/c3t0d2s6 <-> /dev/dsk/c4t2d2s6
PSline /dev/dsk/c3t1d3s6 <-> /dev/dsk/c4t3d3s6
PSline /dev/dsk/c3t0d4s6 <-> /dev/dsk/c4t2d4s6
PSline /dev/dsk/c3t1d5s6 <-> /dev/dsk/c4t3d5s6
PSline ________________________________________________________
PSline You have new mail.
PSline /sni/tools/rms/clusterinfo.sh: powermt: execute permission denied
PSline [7mACHTUNG CAUTION ACHTUNG CAUTION ACHTUNG CAUTION ACHTUNG CAUTION
ACHTUNG
PSline
=======================================================================
PSline [mthis system ist part of a HA-Cluster !!
PSline
PSline HA-Cluster-Softwarestate on this host: Active
PSline HA-Cluster will start at next reboot : never
PSline Dead EMC Powerpath Channels (normal zero): 0
PSline Perforce Services running on this host : 42
PSline named 1666 1667 2100 3000 3003 3005 3008 3009 3010 3011 3012
PSline 3013 3014 3016 3020 3021 3022 3025 3027 3028 3040 3091
PSline 3100 3223 3224 3225 3227 3228 3230 3300 3301 3402 3645
PSline 4000 4001 4002 4003 4004 5000 5001 5555 9997
PSline
Ok, ich sehe da eine Zeile, die mir was von "execute permission denied" erzählt. Aber ist das überhaupt mein Aufruf und wieso steht das erstens überhaupt in diesem Kontext und zweitens die permission ist mit dem anderen Script ja auch da.
Ich wäre für jede Idee erst mal dankbar!
Beste Grüsse - Pygo