Grabando una shell con script y scriptreplay - Userlinux.net

Grabando una shell con script y scriptreplay: Al hilo de la entrada anterior hablando sobre los terminales compartidos con screen intentaremos ir más allá y -además de interactuar y enseñar comandos shell- grabar todo lo que estamos haciendo ...

votar

Grabando una shell con script y scriptreplay

Al hilo de la entrada anterior hablando sobre los terminales compartidos con screen intentaremos ir más allá y -además de interactuar y enseñar comandos shell- grabar todo lo que estamos haciendo en un archivo que luego podremos reproducir como si de un vídeo se tratase.

Esto puede hacerse gracias a los comandos script y scriptreplay, que se encargan de grabar las pulsaciones y el timing de las mismas para luego reproducirlo las veces que haga falta. Todo esto en consola, guardando el log en archivos de texto fácilmente comprimibles y sin dependencias extrañas. ¿Tentador?, vamos a probar.

Lo primero que tenemos que hacer es ejecutar el comando script para que empiece a grabar todo lo que hagamos, además tenemos que indicarle que grabe el timing en otro archivo de forma que el comando completo sería el siguiente:
$ script -t 2> sesion.time -a sesion.demo
Script iniciado; el fichero es sesion.demo
[...]
Empezamos a grabar los comandos que queramos ejecutar y a la hora de pararlo lo haremos pulsando Ctrl+d, lo que escribirá en disco esos dos archivos, necesarios para su posterior reproducción.
[Ctrl+d]
$ exit
Script terminado; el fichero es sesion.demo
¿Cómo reproducirlos?, sencillo, tan solo hay que decirle a scriptreplay cual es el archivo de timing y el de log para que mezcle la información, de la siguiente forma:
$ scriptreplay sesion.time sesion.demo
Y veremos como empieza a reproducirse todo lo grabado exactamente tal y como se ejecutó, con sus virtudes y sus defectos (si, los fallos también aparecen :P).

Llegados a este punto deberíamos estar -otra vez- sorprendidos por la sencillez y la potencia que nos ofrece una simple línea de comandos.

Enlaces relacionados

 
Archived on : sistemas
Tags : shell script

3 Comentarios

gravatar
17.Nov.2009
Esta sí me ha gustado, me la anoto porque me puede servir para muchas cosas, porque yo suelo hacer scripts tras trastear un buen rato y es una buena forma de guardar el proceso. Gracias ;)
gravatar
17.Nov.2009
Y encima los logs -y los timing- se guardan en archivos de texto que tienen un muy buen ratio de compresión a la hora de almacenarlos así que -imho- miel sobre hojuelas.
gravatar
Wi
19.Nov.2009
Mirando mirando, para una movida que me hacia falta hoy, he descubierto que...

-a Append the output to file or typescript, retaining the prior contents.

Por lo que incluso puedes \"grabar\" trozos en momentos diferentes e ir pegandolos unos a otros ;D

Deja un comentario

Tu nombre
Tu email
http://
  « Captcha

[ Userlinux 2001 ~ 2010 | Sindicación ]