Hallo, Liste!<div><br></div><div>Danke, für die Tipps. Ich habe mir Puppet, Chef und co angeguckt, denke aber das diese Frameworks etwas zu viel overhead sind.</div><div>SSH schaut vielversprechend aus, allerdings muß ich neben Perl auch überall Cygwin installiert haben. Diese Abhängigkeit hätte ich mir gerne erspart. Wobei bei meinen eigenen Rechnern werde ich mal mit SSH rumspielen.</div>
<div><br></div><div>So hab ich mir nochmals mein Problem angeschaut. Das Problem liegt in File::Temp. Die Fehlermeldung kommt nur wenn ich das Temp-File benutzte. Mit einem eigenen tmp-File funktionierts,</div><div>also wird das ein Bug in File::Temp sein. Mit dieser Änderung funktioniert auch das Sysadm::Install Module ohne Fehler und ich kann auf dieses zurückgreifen.</div>
<div><br></div><div>Nochmals, Danke für eure Tipps,</div><div>Wolfgang<br><br><div class="gmail_quote">2013/5/31 Stefan Seifert <span dir="ltr"><<a href="mailto:nine@detonation.org" target="_blank">nine@detonation.org</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hallo Wolfgang<br>
<div class="im"><br>
On Friday 31 May 2013 13:38:53 WFB wrote:<br>
<br>
> Das funktioniert für sich genommen so wie erwartet. In meinem Serverscript<br>
> allerdings kommt immer die Fehlermeldung:<br>
> The process cannot access the file because it is being used by another<br>
> process<br>
<br>
</div>Die Fehlermeldung lässt vermuten, dass es sich hier um einen Windowsserver<br>
handelt. Kann das sein? Wenn ja, dann ist die spannende Frage, ob die ganze<br>
Geschichte mit output redirection überhaupt funktioniert. Hab mit Windows kaum<br>
Erfahrung. Vielleicht weiß Mathias da mehr.<br>
<br>
Generell bin ich mir nicht sicher, ob der ganze Ansatz gut ist. Die<br>
Vorstellung, einfach auf einen Port zu verbinden und dann beliebige Kommandos<br>
ausführen zu können macht mich nervös. Wir benutzen für ähnliche Zwecke<br>
<a href="https://metacpan.org/module/Net::SSH" target="_blank">https://metacpan.org/module/Net::SSH</a><br>
<br>
my $ssh = Net::SSH::Perl->new(<br>
    'your.server.intern',<br>
    identity_files => ["$ENV{HOME}/.ssh/id_rsa"],<br>
    compression => 0,<br>
    options => ["UserKnownHostsFile $ENV{HOME}/.ssh/known_hosts.perl"],<br>
);<br>
$ssh->login('your_user');<br>
my ($stdout, $stderr, $exit) = $ssh->cmd("do whatever you need to do");<br>
<br>
Damit hat man sichere Authentifizierung mittels ssh key und kann immer noch<br>
beliebige Kommandos am Server ausführen und braucht dort nichts außer einem<br>
laufenden ssh-Server. Unter Windows geht das mit Cygwin recht einfach.<br>
<br>
Ein anderer recht spannender Ansatz ist<br>
<a href="https://metacpan.org/module/Object::Remote" target="_blank">https://metacpan.org/module/Object::Remote</a><br>
das ebenfalls ssh benutzt und womit man dann auf dem Server beliebigen<br>
Perlcode ausführen kann und dabei sogar Perlmodule benutzen, die am Server gar<br>
nicht installiert sind, sondern nur am Client.<br>
<br>
Hoffe, das hilft dir ein wenig,<br>
Stefan<br>
_______________________________________________<br>
Linz-pm mailing list<br>
<a href="mailto:Linz-pm@pm.org">Linz-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/linz-pm" target="_blank">http://mail.pm.org/mailman/listinfo/linz-pm</a><br>
</blockquote></div><br></div>