Grabando una shell con script y scriptreplay - Userlinux.net

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…

Grabando una shell con script y scriptreplay

r0sk 17.Nov.2009 3 Comentarios 527 Lecturas
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

Categorías: sistemas
Tags: shell script

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
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

Escribe un comentario

Nick
Email
URL

Buscar

Cargando...

Categorías

Últimos comentarios

  • BartlettLilly20
  • r0sk
  • coder
  • argordmel
  • uveic
  • MarcosBL
  • quemada
  • alexander
  • Hakky111
  • tramel
  • hoyadas
  • hoyadas
  • hoyadas
  • Anubys
  • Arturo

Tagcloud

lugo freebsd seguridad futbol iphone mysql champions userlinux alemania_2006 copa bsd cakephp rfilms deportes meme blogs conciertos bake debian macosx apple humor programación música games 2008 beers tip lucux cake sysadmin ssh ibook films cumpleaños bash league barça soccer mundial frases opinion felicidades hack php juegos cms personal 2007 ubuntu ds mac sidenotes openbsd linux blogsfera rsidenotes blog nintendo san_froilan

Archivo

Social

Twitter

Enlaces

Enlaces de interés