[Linz-pm] IO::Socket::INET und open
Stefan Seifert
nine at detonation.org
Fri May 31 05:26:36 PDT 2013
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
More information about the Linz-pm
mailing list