From wbiker at gmx.at Tue May 28 08:43:51 2013 From: wbiker at gmx.at (WFB) Date: Tue, 28 May 2013 17:43:51 +0200 Subject: [Linz-pm] Wie aktiv ist linz.pm? Message-ID: Hallo, Zusammen! Ich bin ein begeisterter Perl-Fan und auf der Suche nach Gleichgesinnten. Die Englische Comunity ist nat?rlich gro? und aktiv, aber es h?tte mir gefallen wenn ich in meiner Heimatstadt auch Perl-Fans finden w?rde. Meine Arbeitskollegen und Freunde denken bei Perl eher an Perlen, oder schw?rmen was von einer Schlange vor, da f?hle ich mich etwas als Aussenseiter. Darum, gibts aktive Perlianer hier und ist der Stammtisch jeden 2. Montag im Monat auch noch am Leben? Gr??e, Wolfgang -------------- next part -------------- An HTML attachment was scrubbed... URL: From nine at detonation.org Tue May 28 09:08:32 2013 From: nine at detonation.org (Stefan Seifert) Date: Tue, 28 May 2013 18:08:32 +0200 Subject: [Linz-pm] Wie aktiv ist linz.pm? In-Reply-To: References: Message-ID: <9718826.s2jTlJbVoH@sphinx> Hallo Wolfgang, On Tuesday 28 May 2013 17:43:51 WFB wrote: > Darum, gibts aktive Perlianer hier und ist der Stammtisch jeden 2. Montag > im Monat auch noch am Leben? Ich muss zugeben, dass wir etwas Pubfaul geworden sind. Aber das liegt wohl haupts?chlich daran, dass wir uns auch abseits der Perlwelt schon gekannt haben und uns daher auch so des ?fteren treffen. Aber ein Neuzugang w?r nat?rlich jetzt der perfekte Anlass um die Treffen sofort wieder aufzunehmen! Wobei wir da den Wochentag vielleicht nochmal ?berlegen sollten. Stefan From wbiker at gmx.at Tue May 28 09:19:27 2013 From: wbiker at gmx.at (WFB) Date: Tue, 28 May 2013 18:19:27 +0200 Subject: [Linz-pm] Wie aktiv ist linz.pm? In-Reply-To: <9718826.s2jTlJbVoH@sphinx> References: <9718826.s2jTlJbVoH@sphinx> Message-ID: Verflixt, Anf?ngerfehler! Also hier nochmals f?r alle: Sehr sch?n, es gibt also noch eine Perl-Comunity in Linz! Das freud mich. Da hab ich jetzt auch eine Anlaufstelle bei Fragen. Ja, Montag ist etwas ungelegen, da hast Du recht. Andereseits werden die Treffen, aber auch nicht bis in die Nacht hinein dauern, nehm ich mal an. Bin zwar nicht so der Vortgehtype, aber diese Gelegenheit w?rde ich trotzdem ergreifen und mal zu so einem Treffen schauen. 2013/5/28 Stefan Seifert > Hallo Wolfgang, > > On Tuesday 28 May 2013 17:43:51 WFB wrote: > > > Darum, gibts aktive Perlianer hier und ist der Stammtisch jeden 2. Montag > > im Monat auch noch am Leben? > > Ich muss zugeben, dass wir etwas Pubfaul geworden sind. Aber das liegt wohl > haupts?chlich daran, dass wir uns auch abseits der Perlwelt schon gekannt > haben und uns daher auch so des ?fteren treffen. Aber ein Neuzugang w?r > nat?rlich jetzt der perfekte Anlass um die Treffen sofort wieder > aufzunehmen! > Wobei wir da den Wochentag vielleicht nochmal ?berlegen sollten. > > Stefan > _______________________________________________ > Linz-pm mailing list > Linz-pm at pm.org > http://mail.pm.org/mailman/listinfo/linz-pm > -------------- next part -------------- An HTML attachment was scrubbed... URL: From wbiker at gmx.at Fri May 31 04:38:53 2013 From: wbiker at gmx.at (WFB) Date: Fri, 31 May 2013 13:38:53 +0200 Subject: [Linz-pm] IO::Socket::INET und open Message-ID: Hallo, zusammen! Ich stecke gerade fest und wei? nicht mehr weiter, so dachte ich mir schreie ich doch gleich hier mal um Hilfe. Die Umgebung: Ich habe in der Arbeit mehrere Testrechner die automatisierte Tests fahren. Ab und zu ist es aber notwendig auf allen Maschinen Arbeiten durchzuf?hren, was dann meist wieder durch Scripts erledigt wird (SVN checkout, kopieren von files...). Die Idee: Um nicht immer von Rechner zu Rechner laufen zu m?ssen um File XY zu kopieren, dachte ich mir da mu? eine Perll?sung her. Die Idee war das Perl auf einem Port lauscht und von dort dann auf Jobs wartet, wie starte script XY. Das Problem: So weit so gut. Der Server lief recht schnell, aber wie die Scripte starten. Dazu benutze folgenden Code: sub start_script { my ($script, $interpreter) = @_; my $cmd; if($interpreter && $script) { $log->info("Start '$interpreter' with '$script'"); $cmd = $interpreter." ".$script; } elsif ($script){ $log->info("Start '$script'"); $cmd = $script; } else { $log->logcroak("nothing to start!"); return; } # create temp file for the error output my $tempfh = File::Temp->new(UNLINK => 0, SUFFIX => '.dat'); my $tempFilename = $tempfh->filename(); # assemble command with stderr and stdin redirection. $cmd = "$cmd 2>$tempFilename"; $log->debug("start: '".$cmd."'"); # start script. ATM without timeout open(my $scriptFH, "-|", $cmd) or $log->logcroak("Could not start script: $cmd"); binmode $scriptFH, ":utf8"; my $stdout = join "", <$scriptFH>; # join initialized the variable with "" if nothing comes from readline (<>) close($scriptFH); my $exitCode = $?; my $stderr = slurp($tempFilename); return ($stdout, $stderr, $exitCode); } Das funktioniert f?r sich genommen so wie erwartet. In meinem Serverscript allerdings kommt immer die Fehlermeldung: The process cannot access the file because it is being used by another process Der ExitCode is dann 256 und $stdout und $stderr ist immer leer. Die Fehlermeldung wird auf der commandline immer auf STDERR ausgegeben. Nach einigem Herumprobieren scheint es diese Zeile zu sein die den Fehler produziert: my $stdout = join "", <$scriptFH>; Hat jemand eine Ahnung was da passiert? Wie gesagt, kopiert in ein extra File tut der Code was er soll. Das Serverscript tut aber nichts anderes als diese Funktion aufzurufen, ich kann mir nicht erkl?ren was das Problem verursacht. Der Serverthread ist auch single-threaded. Also kein Fork oder ?hnliches der einen neuen Process erzeugen w?rde (war f?r die Zukunft geplant). Danke, Wolfgang -------------- next part -------------- An HTML attachment was scrubbed... URL: From nine at detonation.org Fri May 31 05:26:36 2013 From: nine at detonation.org (Stefan Seifert) Date: Fri, 31 May 2013 14:26:36 +0200 Subject: [Linz-pm] IO::Socket::INET und open In-Reply-To: References: Message-ID: <1687284.CKJ5hLvjN3@sphinx> Hallo Wolfgang On Friday 31 May 2013 13:38:53 WFB wrote: > Das funktioniert f?r sich genommen so wie erwartet. In meinem Serverscript > allerdings kommt immer die Fehlermeldung: > The process cannot access the file because it is being used by another > process Die Fehlermeldung l?sst vermuten, dass es sich hier um einen Windowsserver handelt. Kann das sein? Wenn ja, dann ist die spannende Frage, ob die ganze Geschichte mit output redirection ?berhaupt funktioniert. Hab mit Windows kaum Erfahrung. Vielleicht wei? Mathias da mehr. Generell bin ich mir nicht sicher, ob der ganze Ansatz gut ist. Die Vorstellung, einfach auf einen Port zu verbinden und dann beliebige Kommandos ausf?hren zu k?nnen macht mich nerv?s. Wir benutzen f?r ?hnliche Zwecke https://metacpan.org/module/Net::SSH my $ssh = Net::SSH::Perl->new( 'your.server.intern', identity_files => ["$ENV{HOME}/.ssh/id_rsa"], compression => 0, options => ["UserKnownHostsFile $ENV{HOME}/.ssh/known_hosts.perl"], ); $ssh->login('your_user'); my ($stdout, $stderr, $exit) = $ssh->cmd("do whatever you need to do"); Damit hat man sichere Authentifizierung mittels ssh key und kann immer noch beliebige Kommandos am Server ausf?hren und braucht dort nichts au?er einem laufenden ssh-Server. Unter Windows geht das mit Cygwin recht einfach. Ein anderer recht spannender Ansatz ist https://metacpan.org/module/Object::Remote das ebenfalls ssh benutzt und womit man dann auf dem Server beliebigen Perlcode ausf?hren kann und dabei sogar Perlmodule benutzen, die am Server gar nicht installiert sind, sondern nur am Client. Hoffe, das hilft dir ein wenig, Stefan From markus.zimmermann at nethead.at Fri May 31 05:48:27 2013 From: markus.zimmermann at nethead.at (Markus Zimmermann) Date: Fri, 31 May 2013 14:48:27 +0200 Subject: [Linz-pm] IO::Socket::INET und open In-Reply-To: References: Message-ID: <2731958.OluKP0muFX@schroeder.home> On 31.05.2013 13:38:53 WFB wrote: > Ich habe in der Arbeit mehrere Testrechner die automatisierte Tests fahren. > Ab und zu ist es aber notwendig auf allen Maschinen Arbeiten durchzuf?hren, > was dann meist wieder durch Scripts erledigt wird (SVN checkout, kopieren > von files...). Das h?rt sich f?r mich so an als w?rdest du das Rad neu erfinden. F?r so etwas gibt es bereits recht gute L?sungen. Puppet, Chef oder in dem Fall w?rde vermutlich Capistrano oder etwas ?hnliches gut funktionieren. Die L?sungen haben so einige Vorteile. K?nnten wir ja beim n?chsten PM Meeting in der Runde besprechen :-) LG Markus From wolfgang.banaston at gmail.com Fri May 31 09:39:37 2013 From: wolfgang.banaston at gmail.com (WFB) Date: Fri, 31 May 2013 18:39:37 +0200 Subject: [Linz-pm] IO::Socket::INET und open In-Reply-To: <1687284.CKJ5hLvjN3@sphinx> References: <1687284.CKJ5hLvjN3@sphinx> Message-ID: <51A8D249.8090105@gmail.com> Hallo, Stefan! On 31/05/13 14:26, Stefan Seifert wrote: > Die Fehlermeldung l?sst vermuten, dass es sich hier um einen > Windowsserver handelt. Kann das sein? Wenn ja, dann ist die spannende > Frage, ob die ganze Geschichte mit output redirection ?berhaupt > funktioniert. Hab mit Windows kaum Erfahrung. Die Testrechner laufen alle mit Windows 7 Prof. Funktionieren tuts prinzipiell, denn ich habe den Code in einem Script f?r sich alleine ausprobiert, da gings. > Vielleicht wei? Mathias da mehr. Generell bin ich mir nicht sicher, ob > der ganze Ansatz gut ist. Die Vorstellung, einfach auf einen Port zu > verbinden und dann beliebige Kommandos ausf?hren zu k?nnen macht mich > nerv?s. Wir benutzen f?r ?hnliche Zwecke > https://metacpan.org/module/Net::SSH my $ssh = Net::SSH::Perl->new( > 'your.server.intern', identity_files => ["$ENV{HOME}/.ssh/id_rsa"], > compression => 0, options => ["UserKnownHostsFile > $ENV{HOME}/.ssh/known_hosts.perl"], ); $ssh->login('your_user'); my > ($stdout, $stderr, $exit) = $ssh->cmd("do whatever you need to do"); > Damit hat man sichere Authentifizierung mittels ssh key und kann immer > noch beliebige Kommandos am Server ausf?hren und braucht dort nichts > au?er einem laufenden ssh-Server. Unter Windows geht das mit Cygwin > recht einfach. Ein anderer recht spannender Ansatz ist > https://metacpan.org/module/Object::Remote das ebenfalls ssh benutzt > und womit man dann auf dem Server beliebigen Perlcode ausf?hren kann > und dabei sogar Perlmodule benutzen, die am Server gar nicht > installiert sind, sondern nur am Client. Hoffe, das hilft dir ein > wenig, Stefan In der Firma laufen die Rechner in einem eingeschr?nkten Netzwerk. Der Server w?rde nur Scripte starten die auf der Maschine gespeichert w?ren. Dabei sollte es egal sein, ob diese Perlscripte oder Pythonscripte oder was anderes ist. Ein mitgeschicktes Commando sollte benutzt werden um zu bestimmen was passieren sollte. So, denke ich, w?re es sicher genug f?r diese Umgebung. An SSH hab ich nicht gedacht. H?rt sich nach einer simplen L?sung an. Nur lerne ich dabei nichts ?ber Perl und TCP ;-) und ich habe die Abh?ngigkeit zu Cygwin. Mein Ziel war auch einfach ein kleiner Perlserver der nur dazu da ist, bestimmte vorhandene Scripte zu starten, so k?nnte er von meine Python-Arbeitskollegen beuntzt werden um seine Scripte remote zu starten. Werde aber auf jeden Fall SSH und die Tools, die Markus erw?hnt hat, evaluieren ;-) Danke! Wolfgang From wolfgang.banaston at gmail.com Fri May 31 09:48:49 2013 From: wolfgang.banaston at gmail.com (WFB) Date: Fri, 31 May 2013 18:48:49 +0200 Subject: [Linz-pm] IO::Socket::INET und open In-Reply-To: <2731958.OluKP0muFX@schroeder.home> References: <2731958.OluKP0muFX@schroeder.home> Message-ID: <51A8D471.7050601@gmail.com> > Das h?rt sich f?r mich so an als w?rdest du das Rad neu erfinden. F?r so etwas > gibt es bereits recht gute L?sungen. Puppet, Chef oder in dem Fall w?rde > vermutlich Capistrano oder etwas ?hnliches gut funktionieren. Die L?sungen > haben so einige Vorteile. K?nnten wir ja beim n?chsten PM Meeting in der Runde > besprechen :-) > > LG Markus > Hallo, Markus! Manchmal mu? man das Rad neu erfinden, ansonsten w?rden unsere Autos noch mit Holzr?der durch die Gegen fahren. Nein, mir war klar das es m?glicherweise schon etwas gibt. Nur wu?te ich nicht genau nach was ich suchen sollte und ich suche lauter Projekte um mehr Perlerfahrung zu bekommen. Ich bin momentan ein ziemlicher Perl-Fan(atiker). Ich werde mir auf jeden Fall mal Puppet, Chef und Capistrano anschauen. Auch wenn ich gerne dieses Projekt abschlie?en w?rde um zB zu lernen was an meinem Code das Problem ist. Danke und vielleicht sieht man sich ja beim n?chsten PM-Meeting! Wolfgang From wolfgang.banaston at gmail.com Fri May 31 10:21:23 2013 From: wolfgang.banaston at gmail.com (WFB) Date: Fri, 31 May 2013 19:21:23 +0200 Subject: [Linz-pm] Fwd: Re: IO::Socket::INET und open In-Reply-To: <20130531170710.GI17724@pandora> References: <20130531170710.GI17724@pandora> Message-ID: <51A8DC13.6070505@gmail.com> F?r einen Administrator der gleichzeitig an mehrerern Servern arbeitet ist ClusterSSH eine super Sache. F?r meinen Use-Case denke ich eher ungeeignet. Um genau zu sein, mu? ich in unregelm?ssigen Abst?nden auf mehreren Rechnern Aktionen durchf?hren. Zum Beispiel Files von A nach B kopieren und aus SVN etwas auschecken. Mit ClusterSSH k?nnte ich das tun und auch noch auf mehreren Rechnern parallel, allerdings m??te ich erste recht wieder jedes Script h?ndisch starten. Mit dem Server w?re ich viel Flexibler. Ein druck auf einen Knopf w?rde zu jeden Testrechner einen String schicken wie "command":"start","script":"C:\testautomation\scripts\svn_checkout.pl". Ich k?nnte mich zur?cklehen und w?rde im Idealfall sogar noch ein Feedback ?ber Erfolg oder Misserfolg bekommen. ClusterSSH w?rde mir die jetztige Arbeit zwar abnehmen, aber ich bin faul und will mir sogar die Tipperei ersparen ;-) Danke trotzdem, Wolfgang -------- Original Message -------- Subject: Re: [Linz-pm] IO::Socket::INET und open Date: Fri, 31 May 2013 19:07:10 +0200 From: Mathias Reitinger To: WFB Servus, > Ich werde mir auf jeden Fall mal Puppet, Chef und Capistrano anschauen. > Auch wenn ich gerne dieses Projekt abschlie?en w?rde um zB zu lernen was > an meinem Code das Problem ist. wenn die rechner in einem entsprechenden zustand sind ist sollte clusterssh[1] auch eine recht brauchbare m?glichkeit sein - vorallem wenn es um ?nderungen geht dir nur 1x gemacht werden m?ssen. [1] http://clusterssh.sourceforge.net/ -- Mathias Reitinger -------------- next part -------------- An HTML attachment was scrubbed... URL: