LINUX

Come utilizzare il comando “Script” per registrare la sessione del terminale Linux

Questo comando di script è molto utile per l’amministratore di sistema. Se si verifica un problema con il sistema, è molto difficile trovare quale comando è stato eseguito in precedenza. Pertanto, l’amministratore di sistema conosce l’importanza di questo comando di script. A volte sei sul server e pensi che al tuo team o a qualcuno che conosci manchi effettivamente la documentazione su come eseguire una determinata configurazione. È possibile eseguire l’installazione, registrare tutte le azioni della sessione della shell e mostrare la registrazione alla persona che vedrà esattamente ciò che si aveva (stesso output) sulla shell al momento dell’installazione.

Come funziona il comando script?

Il comando script registra una sessione shell per te in modo che tu possa guardare l’output che stavi vedendo in quel momento e puoi persino registrare con la sincronizzazione in modo da poter avere una riproduzione in tempo reale. È davvero utile e torna utile nei momenti e nei luoghi più strani.

Il comando script mantiene il registro delle azioni per varie attività. Lo script registra tutto in una sessione, come le cose che digiti, le cose che vedi. Per fare ciò, basta digitare scenario comando sul terminale e digitare Uscita quando è finito. Tutto in mezzo scenario e Uscita l’ordine viene registrato nel file. Ciò include i messaggi di conferma dallo script stesso.

1. Registra la tua sessione terminale

script crea un dattiloscritto di tutto ciò che viene stampato sul tuo terminale.Se viene fornito il file degli argomenti, lo script salva tutte le finestre di dialogo nel file specificato nella directory corrente. Se non viene fornito alcun nome file, il file digitato viene salvato nel file digitato predefinito. Per registrare la tua sessione di shell in modo che ciò che stai facendo nella shell corrente, usa il comando seguente

# script shell_record1
Script started, file is shell_record1

Indica che un file record_shell1 è creato. Controlliamo il file

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

Dopo aver completato l’attività, puoi entrare Uscita o Ctrl-d per chiudere la sessione dello script e salvare il file.

# exit
exit
Script done, file is shell_record1

Puoi vedere che lo script punta al nome del file.

2. Controllare il contenuto di una sessione terminale registrata

Quando usi il comando script, registra tutto in una sessione, come le cose che digiti, quindi tutto il tuo output.Poiché l’output viene salvato in un file, è possibile controllare il contenuto dopo che c’è una sessione registrata. Puoi semplicemente utilizzare un comando dell’editor di testo o un visualizzatore di comandi di file di testo.

# 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

Durante la visualizzazione del file, si nota che lo script memorizza anche avanzamenti di riga e backspace. Indica anche il tempo di registrazione all’inizio e alla fine del file.

3. Registra più sessioni di terminale

Puoi registrare tutte le sessioni terminali che desideri. Al termine di una registrazione, avvia una nuova registrazione della sessione. Può essere utile se vuoi registrare diverse configurazioni che fai per mostrare la tua squadra o gli studenti, per esempio. Devi solo nominare ogni file di registro.

Ad esempio, supponiamo di dover eseguire configurazioni OpenLDAP, DNS, Machma. Dovrai registrare ogni configurazione. Per fare ciò, crea il file di registro appropriato per ogni configurazione quando hai finito.

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

Quando hai finito con la prima configurazione, inizia a registrare la configurazione successiva

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

E così via per l’altro. Si noti che se si scrive il comando seguito dal nome del file esistente, il file verrà sostituito. Quindi perderai tutto.

Ora, supponiamo che tu abbia avviato la configurazione di Machma, ma devi annullare la configurazione per completare la configurazione del DNS a causa di un’emergenza. Ora vuoi continuare la configurazione di machma da dove l’hai interrotta. Significa che vuoi registrare i seguenti passaggi nel file esistente machma_record senza eliminare il contenuto precedente; per fare questo userai script -a comando per aggiungere il nuovo output al file.

Questo è il contenuto del nostro file registrato

Ora, se vogliamo continuare a scrivere su questo file senza eliminare il contenuto già presente, lo faremo

# script -a machma_record
Script started, file is machma_record

Ora continua con il setup, quindi esci quando hai finito e controlliamo il contenuto del file registrato.

Annotare il nuovo orario della nuova voce visualizzata. Puoi vedere che il file ha record precedenti e attuali.

4. Riproduci una sessione di terminale Linux

Abbiamo visto che è possibile visualizzare il contenuto del file registrato con comandi per la visualizzazione del contenuto di un file di testo. Il comando script fornisce anche la possibilità di visualizzare la sessione registrata come file video. Significa che rivedrai esattamente cosa hai fatto passo dopo passo quando hai inserito i comandi come se stessi cercando un video. Quindi riproduci/riproduci la sessione registrata dal terminale.

Per farlo, devi usare --timing opzione di comando script quando si avvia la registrazione.

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

Vedi che il file in cui salvare è record_shell1. Al termine della registrazione, uscire normalmente

# exit
exit
Script done, file is shell_record1

Vediamo di controllare il contenuto file_time

# 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

Il --timing l’opzione invia i dati di sincronizzazione al file indicato. Questi dati contengono due campi, separati da uno spazio, che indicano quanto tempo è trascorso dalla visualizzazione precedente di quanti caratteri sono stati emessi questa volta. Queste informazioni possono essere utilizzate per eseguire il rendering di dattiloscritti con ritardi di input e output realistici.

Ora, per riprodurre la sessione del terminale, utilizziamo il comando scriptreplay invece del comando script con la stessa sintassi durante la registrazione della sessione. Guarda giù

# scriptreplay --timing=file_time shell_record1

Avrai la tua sessione registrata riprodotta come se stessi cercando una registrazione video di tutto ciò che stavi facendo. Puoi semplicemente inserire il file di temporizzazione senza specificare tutto –timing=file_time. Guarda giù

# scriptreplay file_time shell_record1

Quindi capisci che il primo parametro è il file di sincronizzazione e il secondo è il file registrato.

Conclusione

Il comando script può essere il tuo strumento per documentare il tuo lavoro e mostrare agli altri ciò che hai fatto in una sessione. Può essere usato come un modo per registrare ciò che stai facendo in una sessione di shell. Quando si esegue lo script, viene eseguito il fork di una nuova shell. Legge l’input e l’output standard per il tuo terminale e memorizza i dati in un file.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close