Mie Oct 29, 2008 10:19 am
|
 |
jmdelcampo
Perlero Nuevo

|
Registrado: 24 Nov 2006
Mensajes: 21
|
|
| Captura errores |
|
|
Buenas a todos.
Tengo un proceso en el que debo acceder a archivos de forma remota para ello hago, evidentemente,
| Perl: | open(FH, $file) || $log-> error_die(); |
donde
| Perl: | $file = '/usr/local/bin/ssh logcollector "/usr/bin/gzcat /Informatica/ftp_core_r9/logs/cae/cae90*.prdes_access.log_20081028*.* || /usr/bin/cat /Informatica/ftp_core_r9/logs/cae/cae90*.prdes_access.log_20081028*.*" |'; |
Al ejecutarlo obtengo el siguiente error:
| Código: |
| sh: /usr/local/bin/ssh: not found |
y sigue ejecutando el proceso.
Alguien me podría ayudar para capturar el error y saber cuándo existe y cuándo no.
Saludos y gracias. |
|
|
|

Mie Oct 29, 2008 1:57 pm
|
 |
creating021
Vive para Perl en Español

|
Registrado: 23 Feb 2006
Mensajes: 498
Ubicación: Frente al monitor
|
|
|
|
|
Intenta lo siguiente ->
| Perl: | open ( FH, $file ) or {
my $error = $!; # Esto atrapa el error;
$log-> error_die();
}; |
Para saber si el ejecutable existe (como ejecutable) puedes hacer lo siguiente ->
| Perl: | if ( -x "/ruta/del/ejecutable" ) {
print "El ejecutable existe";
} |
O también puedes usar esto...
| Perl: | if ( open FH, $file ) {
print "El archivo se ha ejecutado\n";
}
else {
print "ERROR: $!\n";
} |
También puedes usar IPC::Open3 o algún módulo SSH que podrías encontrar en CPAN |
|
Jue Oct 30, 2008 7:40 am
|
 |
jmdelcampo
Perlero Nuevo

|
Registrado: 24 Nov 2006
Mensajes: 21
|
|
|
|
|
| Gracias creating021 |
|
Powered by phpBB © 2001, 2005 phpBB Group
|