• Publicidad

Guardar log de programa de shell en otro directorio

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Guardar log de programa de shell en otro directorio

Notapor FluiD » 2010-09-01 05:16 @261

Buenas de nuevo, a ver si alguien sabría echarme una mano...

Estoy haciendo un script bajo Linux que en un determinado momento lanza un binario de la shell, que este a su vez crea un archivo log. El caso es que me gustaría que ese archivo log se guardara en un subdirectorio, no desde donde se ejecuta el script.

Digamos que sería algo así:

/directorios/script.pl

con lo cual el log lo crearía en /directorios/archivo_log.log

Yo quiero seguir ejecutando el script desde /directorios/script.pl y que el log lo guarde en el subdirectorio /directorios/temp/archivo_log.log

El script llama al comando de la shell con:

system ("comando [parametros] &");

Decir también que en los parámetros del comando de la shell no posee opciones para "jugar" con el archivo log.

¿Por dónde le meto mano?

Saludos y gracias.

MiG.G
FluiD
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2009-10-16 14:38 @651

Publicidad

Re: Guardar log de programa de shell en otro directorio

Notapor explorer » 2010-09-01 05:24 @266

Pero... ¿quién crea y escribe el registro log? ¿Tu programa y/o el comando que ejecutas con system()?

Si solo es el comando que ejecutas con system(), puedes agregar una redirección, pero solo si el registro sale hacia la salida estándar.

system ("comando [parametros] > temp/archivo.log &");

Otra opción... cambiar el directorio de trabajo con chdir() a temp/ antes de ejecutar el comando.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Guardar log de programa de shell en otro directorio

Notapor FluiD » 2010-09-01 17:10 @757

Pero... ¿quién crea y escribe el registro log? ¿Tu programa y/o el comando que ejecutas con system()?

Mil perdones, mira que intenté ser claro y no dije algo tan elemental para que me pudieran ayudar. El log lo escribe el programa de la shell y lo hace en un archivo. No por la salida estándar, con lo cual tengo que usar chdir() que ya lo he probado y me funciona perfectamente.

Muchas gracias, sé que son dudas muy de parbulitos pero hago cosillas con Perl muy de uvas a peras y para mi es un mundo...

Un saludo

MiG.G
FluiD
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2009-10-16 14:38 @651


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 17 invitados