Leggendo con calma molti post contenuti nei vari aggregatori presenti in rete, mi sono imbatturo in un post interessante che descriveva un applicativo di terminale da utilizzare per salvare su di un file i comandi utilizzati da linea di comando durante una sessione locale o addirittura durante una sessione in connessione remota.

Come si può fare?

È molto semplice… utilizzando il comando da terminale logsave. È uno dei comandi già presenti tra i vari comandi di terminale, su tutti i sistemi Debian e quindi anche sulla nostra versione di Linux Ubuntu.

Procediamo.

Proviamo a scrivere nel file registro.log il nome della versione del kernel che stiamo utilizzando.

logsave registro.log uname -r

con il seguente comando possiamo aggiungere al nostro file registro.log le informazioni contenute nel file /etc/hosts.

logsave -a registro.log ls -l /etc/hosts

ora, con il comando di visualizzazione  cat, andiamo a controllare l’avvenuta scrittura nel file delle due operazioni appena eseguite.

cat registro.log

Il risultato sarà il seguente.

Log of uname-r
Thu Aug 13 11:15:34 2009
2.6.28-13-generic
Thu Aug 13 11:15:34 2009
----------------
Log of ls -l /etc/hosts
Thu Aug 13 11:16:34 2009
-rw-r - r - 1 root root 293 2009-07-29 13:59 /etc/hosts
Thu Aug 13 11:16:34 2009
----------------

Perfetto. Ora proviamo a registrare delle operazioni effettuate durante una connessione remota.

logsave registro1.log ssh root@192.169.5.1 "(uname-r; df-h)"

andiamo a vedere cosa è stato registrato nel file registro1.log

cat registro1.log

Otterremo la seguente risposta dal terminale.

Log of ssh root@192.169.5.1 (uname-r; df-h)
Tue Aug 13 11:10:44 2009
2.6.26-2-686
Sist. Architect Tam Used Disp Use% Mounted on
/dev/sda1 19G 4.1G 14G 24% /
tmpfs 951M 0 951M 0% /lib/init/rw
udev 10M 124k 9.9M 2% /dev
tmpfs 951M 0 951M 0% /dev/shm
Tue Aug 13 11:10:51 2009
----------------

Se invece desideriamo registrarci tutti i comandi dati durante la sessione remota, prima dell’inizio della connessione remota faremo così.

logsave remoto.log ssh wpc@192.169.5.1

dopo aver dato i vari comandi di prova e non, andremo a vedere sul nostro pc locale il contenuto del file remoto.log

cat remoto.log

Thu Aug 13 11:12:44 2009
----------------
Log of ssh wpc@192.169.5.1
Thu Aug 13 11:13:08 2009
as2mwpc.treinamento Linux 2.6.26-2-686 # 1 SMP Sun Jun 21 04:57:38 UTC 2009 i686
Last login: Thu Aug 7 14:37:03 2009 from 192168236149
wpc@wpc.com.br: ~ $ echo hello
Hello
wpc@wpc.com.br: ~ $ uname -a
as2mwpc.treinamento Linux 2.6.26-2-686 # 1 SMP Sun Jun 21 04:57:38 UTC 2009 i686 GNU / Linux
wpc@wpc.com.br: ~ $ ip address show eth0 | grep inet
BRD 192.168.0.255 inet 192.169.5.1/24 scope global eth0
wpc@wpc.com.br: ~ $ exit
Logout
Connection to 192.169.5.1 closed.
Thu Aug 13 11:13:23 2009
----------------

Mi sembra che in questo modo sia veramente possibile tenere a mente tutte le operazioni che normalmente si fanno utilizzando la linea di comando da terminale.
Se qualcuno di voi ha qualche altra idea è sempre ben accetta e condivisa.

Riguardo a: paolettopn

Anticonformista, sempre_quarantenne, nato sotto il segno dell’acquario, appassionato di informatica ed elettronica sin dalla tenera età, usa software linux, open-source e oggi si diverte e lavora con le telecomunicazioni l’elettronica e l’informatica.
Il resto delle informazioni lo potete trovare sul wiki della Comunità italiana di Ubuntu-it.
Ciao, a presto.

Lasciate un vostro commento a questo post