LINUX

Cómo usar el comando «Script» para grabar una sesión de terminal de Linux

Este comando de secuencia de comandos es muy útil para el administrador del sistema. Si ocurre algún problema con el sistema, es muy difícil encontrar qué comando se ejecutó anteriormente. Por lo tanto, el administrador del sistema conoce la importancia de este comando de script. A veces estás en el servidor y piensas que a tu equipo o a alguien que conoces le falta documentación sobre cómo hacer una determinada configuración. Es posible realizar la configuración, grabar todas las acciones de la sesión de shell y mostrar la grabación a la persona que verá exactamente lo que tenía (el mismo resultado) en el shell en el momento de la configuración.

¿Cómo funciona el comando de secuencia de comandos?

El comando de secuencia de comandos graba una sesión de shell para que pueda ver el resultado que estaba viendo en ese momento e incluso puede grabar con sincronización para que pueda tener una reproducción en tiempo real. Realmente es útil y es útil en los momentos y lugares más extraños.

El comando de secuencia de comandos mantiene el registro de acciones para varias tareas. El script registra todo en una sesión, como las cosas que escribe, las cosas que ve. Para hacer esto, simplemente escriba guión Comando en la terminal y escriba Salida cuando haya terminado. todo entre guión y Salida la orden se registra en el archivo. Esto incluye mensajes de confirmación del propio script.

1. Registre su sesión de terminal

script hace un mecanografiado de todo lo que está impreso en su terminal.Si se le da el archivo de argumentos, el script guarda todos los diálogos en el archivo dado en el directorio actual. Si no se da ningún nombre de archivo, el tipo se guarda en el archivo escrito por defecto. Para grabar su sesión de shell para que lo que está haciendo en el shell actual, use el comando a continuación

# script shell_record1
Script started, file is shell_record1

Indica que un archivo shell_record1 es creado. Revisemos el archivo

# ls -l shell_*
-rw-r--r-- 1 root root 0 Jun 9 17:50 shell_record1

Después de completar la tarea, puede ingresar Salida o Ctrl-d para cerrar la sesión del script y guardar el archivo.

# exit
exit
Script done, file is shell_record1

Puede ver que el script apunta al nombre del archivo.

2. Comprobar el contenido de una sesión de terminal grabada

Cuando usa el comando de secuencia de comandos, registra todo en una sesión, como las cosas que escribe, por lo que toda su salida.Debido a que la salida se guarda en un archivo, es posible verificar el contenido después de que haya una sesión grabada. Simplemente puede usar un comando de editor de texto o un visor de comandos de archivo de texto.

# cat shell_record1 
Script started on Fri 09 Jun 2017 06:23:41 PM UTC
[root@centos-01 ~]# date
Fri Jun 9 18:23:46 UTC 2017
[root@centos-01 ~]# uname -a
Linux centos-01 3.10.0-514.16.1.el7.x86_64 #1 SMP Wed Apr 12 15:04:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
[root@centos-01 ~]# whoami
root
[root@centos-01 ~]# pwd
/root
[root@centos-01 ~]# exit
exit

Script done on Fri 09 Jun 2017 06:25:11 PM UTC

Mientras ve el archivo, observa que el script también almacena saltos de línea y retrocesos. También indica el tiempo de grabación al principio y al final del archivo.

3. Registre múltiples sesiones de terminal

Puede registrar tantas sesiones de terminal como desee. Cuando termine una grabación, inicie una nueva sesión de grabación. Puede ser útil si desea registrar varias configuraciones que realiza para mostrar a su equipo o estudiantes, por ejemplo. Solo necesita nombrar cada archivo de registro.

Por ejemplo, suponga que necesita realizar configuraciones de OpenLDAP, DNS, Machma. Deberá registrar cada configuración. Para hacer esto, simplemente cree el archivo de registro apropiado para cada configuración cuando haya terminado.

# script openldap_record
   ...............
    configuration step
   ..............
# exit

Cuando haya terminado con la primera configuración, comience a registrar la siguiente configuración

# script machma_record
    ............
     configuration steps
    .............
# exit

Y así sucesivamente para el otro. Tenga en cuenta que si escribe el comando seguido del nombre del archivo existente, el archivo será reemplazado. Así perderás todo.

Ahora, imaginemos que ha iniciado la configuración de Machma, pero necesita cancelar la configuración para completar la configuración de DNS debido a una emergencia. Ahora desea continuar con la configuración de machma donde la dejó. Significa que desea registrar los siguientes pasos en el archivo existente machma_record sin borrar el contenido anterior; para hacer esto usarás script -a comando para agregar la nueva salida al archivo.

Este es el contenido de nuestro archivo registrado

Ahora, si queremos continuar escribiendo en este archivo sin borrar el contenido ya presente, vamos a

# script -a machma_record
Script started, file is machma_record

Ahora continúe con la configuración, luego salga cuando haya terminado y revisemos el contenido del archivo grabado.

Tenga en cuenta la nueva hora de la nueva entrada que aparece. Puede ver que el archivo tiene registros anteriores y actuales.

4. Juega una sesión de terminal Linux

Hemos visto que es posible ver el contenido del archivo grabado con comandos para mostrar el contenido de un archivo de texto. El comando de secuencia de comandos también ofrece la posibilidad de ver la sesión grabada como un video. Significa que revisará exactamente lo que hizo paso a paso a medida que ingresó los comandos como si estuviera buscando un video. Así que reproducirá/reproducirá la sesión grabada del terminal.

Para hacerlo, necesitas usar --timing opción de comando de secuencia de comandos cuando comience a grabar.

# script --timing=file_time shell_record1
Script started, file is shell_record1

Ver que el archivo para guardar es shell_record1. Cuando termine la grabación, salga normalmente

# exit
exit
Script done, file is shell_record1

A ver para comprobar el contenido. tiempo_archivo

# cat file_time 
0.807440 49
0.030061 1
116.131648 1
0.226914 1
0.033997 1
0.116936 1
0.104201 1
0.392766 1
0.301079 1
0.112105 2
0.363375 152

los --timing opción envía datos de sincronización al archivo indicado. Estos datos contienen dos campos, separados por un espacio, que indican cuánto tiempo ha pasado desde la visualización anterior de cuántos caracteres se emitieron esta vez. Esta información se puede utilizar para representar textos mecanografiados con retrasos de entrada y salida realistas.

Ahora, para reproducir la sesión de terminal, usamos el comando scriptreplay en lugar del comando script con la misma sintaxis al grabar la sesión. Mira abajo

# scriptreplay --timing=file_time shell_record1

Tendrás tu sesión grabada reproduciéndose como si estuvieras buscando una grabación de video de todo lo que estabas haciendo. Simplemente puede ingresar el archivo de tiempo sin especificar todo –timing=file_time. Mira abajo

# scriptreplay file_time shell_record1

Así que comprenda que el primer parámetro es el archivo de sincronización y el segundo es el archivo grabado.

Conclusión

El comando de secuencia de comandos puede ser su herramienta para documentar su trabajo y mostrar a otros lo que ha hecho en una sesión. Se puede usar como una forma de registrar lo que está haciendo en una sesión de shell. Cuando ejecuta el script, se bifurca un nuevo shell. Lee la entrada y salida estándar de su terminal y almacena los datos en un archivo.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar