Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Básico » Guardar log de programa de shell en otro directorio Responder al tema
Nuevo tema


Página 1 de 1  [ 3 mensajes ] 
 
Nota Mié Sep 01, 2010 5:16 am

Perlero Nuevo
Registrado: Vie Oct 16, 2009 2:38 pm
Mensajes: 14
Guardar log de programa de shell en otro directorio
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


Nota Mié Sep 01, 2010 5:24 am
Avatar de Usuario
Administrador
Registrado: Dom Jul 24, 2005 6:12 pm
Ubicación: Valladolid, España
Mensajes: 9492
Re: Guardar log de programa de shell en otro directorio
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


Nota Mié Sep 01, 2010 5:10 pm

Perlero Nuevo
Registrado: Vie Oct 16, 2009 2:38 pm
Mensajes: 14
Re: Guardar log de programa de shell en otro directorio
Citar:
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


Responder al tema  [ 3 mensajes ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO