El comando history es una herramienta muy útil para conocer los últimos comandos que hemos ejecutado, si no recuerdo mal, creo que el tope para mostrar era de unos 500 registros.
Como el hypervisor ESXi es un sistema operativo basado en linux, también dispone de este comando, por lo que nos puede resultar muy útil para ver o ejecutar un comando que hemos podido realizar con anterioridad y del que no nos acordamos o simplemente ver que comandos ha metido algún compañero que este en otro turno de trabajo y utilice el usuario root en vez de otro usuario local del host ESXi, vamos que utilidades varias las de este comando.
Si ejecutamos el comando history en el Host ESXi, mostrara los últimos comandos que hemos realizado, hasta el tope que tenga, que como he comentado, creo que eran 500 registros.
1 2 3 4 5 6 7 8 9 10 11 12 |
[root@esxi:~] history 0 history 1 clear 2 cat /vmfs/volumes/ESXiLOCAL/logs/shell.log 3 cd /scratch/ 4 ls 5 cd log/ 6 ls 7 cat shell.log 8 clear 9 cd / 10 history |
Pero en VMware cambia un poco la cosa, si reiniciamos el host ESXi, todo este historial «desaparecerá» cuando ejecutemos el comando history, digo desaparecerá entre comillas porque no se elimina este historial ya que lo almacena en un fichero y donde lo podemos consultar.
Vamos a hacer una prueba reiniciando el Host ESXi con el siguiente comando.
1 |
[root@esxi:~] esxcli system shutdown reboot -d 10 -r "prueba comando history" |
Una vez reiniciado, escribimos history y veremos como solo están los 3 últimos comandos ejecutados después de reiniciar el Host.
1 2 3 4 5 6 7 8 |
[root@esxi:~] uptime 12:51:04 up 00:03:18, load average: 0.03, 0.00, 0.00 [root@esxi:~] [root@esxi:~] history 0 clear 1 uptime 2 history [root@esxi:~] |
Para poder consultar el historial del comando history, primero tendremos que conocer la ubicación de los logs, con el siguiente comando de esxcli. En mi caso lo tengo en una ubicación diferente porque la he cambiado por recomendación de VMware.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[root@esxi:~] esxcli system syslog config get Check Certificate Revocation: false Default Network Retry Timeout: 180 Dropped Log File Rotation Size: 100 Dropped Log File Rotations: 10 Enforce SSLCertificates: true Local Log Output: /vmfs/volumes/ESXiLOCAL/logs Local Log Output Is Configured: true Local Log Output Is Persistent: true Local Logging Default Rotation Size: 1024 Local Logging Default Rotations: 8 Log To Unique Subdirectory: false Message Queue Drop Mark: 90 Remote Host: <none> Strict X509Compliance: false [root@esxi:~] |
Una vez conocida la ubicación, buscamos el fichero shell.log y hacemos un cat para ver su contenido y donde podremos ver todo el historial del comando history se almacena este fichero.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
[root@esxi:~] cat /vmfs/volumes/ESXiLOCAL/logs/shell.log 2019-07-24T12:29:09Z SSH: SSH login enabled 2019-07-24T12:29:40Z ESXShell: ESXi Shell unavailable 2019-07-24T12:33:48Z shell[2099396]: Interactive shell session started 2019-07-24T12:33:50Z shell[2099396]: [root]: clear 2019-07-24T12:33:59Z shell[2099396]: [root]: history 2019-07-24T12:35:04Z shell[2099396]: [root]: cd /var/log/ 2019-07-24T12:35:07Z shell[2099396]: [root]: cat shell.log 2019-07-24T12:35:45Z shell[2099396]: [root]: cd / 2019-07-24T12:35:45Z shell[2099396]: [root]: ls 2019-07-24T12:35:47Z shell[2099396]: [root]: ls -la 2019-07-24T12:35:54Z shell[2099396]: [root]: cat .ash_history 2019-07-24T12:36:08Z shell[2099396]: [root]: cd /vmfs/volumes/ESXiLOCAL/ 2019-07-24T12:36:09Z shell[2099396]: [root]: ls 2019-07-24T12:36:15Z shell[2099396]: [root]: cd logs/ 2019-07-24T12:36:16Z shell[2099396]: [root]: ls 2019-07-24T12:36:20Z shell[2099396]: [root]: cat shell.log 2019-07-24T12:36:37Z shell[2099396]: [root]: clear 2019-07-24T12:36:39Z shell[2099396]: [root]: cd / 2019-07-24T12:36:45Z shell[2099396]: [root]: esxcli system 2019-07-24T12:36:55Z shell[2099396]: [root]: esxcli system shutdown 2019-07-24T12:37:07Z shell[2099396]: [root]: esxcli system shutdown poweroff 2019-07-24T12:38:01Z shell[2099396]: [root]: esxcli system shutdown poweroff -d 10 -r "cerrado por vacaciones" 2019-07-24T12:38:20Z SSH: SSH login disabled 2019-07-24T12:41:27Z SSH: SSH login enabled 2019-07-24T12:41:44Z ESXShell: ESXi Shell unavailable 2019-07-24T12:42:08Z shell[2099384]: Interactive shell session started 2019-07-24T12:42:11Z shell[2099384]: [root]: history 2019-07-24T12:42:14Z shell[2099384]: [root]: clear 2019-07-24T12:42:34Z shell[2099384]: [root]: cat /vmfs/volumes/ESXiLOCAL/logs/shell.log 2019-07-24T12:44:14Z shell[2099384]: [root]: cd /scratch/ 2019-07-24T12:44:15Z shell[2099384]: [root]: ls 2019-07-24T12:44:18Z shell[2099384]: [root]: cd log/ 2019-07-24T12:44:18Z shell[2099384]: [root]: ls 2019-07-24T12:44:22Z shell[2099384]: [root]: cat shell.log 2019-07-24T12:44:35Z shell[2099384]: [root]: clear 2019-07-24T12:45:15Z shell[2099384]: [root]: cd / 2019-07-24T12:45:22Z shell[2099384]: [root]: history 2019-07-24T12:45:28Z shell[2099384]: [root]: pwd 2019-07-24T12:45:39Z shell[2099384]: [root]: ls 2019-07-24T12:46:28Z shell[2099384]: [root]: esxcli system shutdown reboot 2019-07-24T12:46:49Z shell[2099384]: [root]: esxcli system shutdown reboot -d 10 -r "prueba comando history" 2019-07-24T12:47:08Z SSH: SSH login disabled 2019-07-24T12:49:53Z SSH: SSH login enabled 2019-07-24T12:50:24Z ESXShell: ESXi Shell unavailable 2019-07-24T12:50:58Z shell[2099392]: Interactive shell session started 2019-07-24T12:51:01Z shell[2099392]: [root]: clear 2019-07-24T12:51:04Z shell[2099392]: [root]: uptime 2019-07-24T12:51:13Z shell[2099392]: [root]: history 2019-07-24T12:52:04Z shell[2099392]: [root]: esxcli system syslog config get 2019-07-24T12:52:48Z shell[2099392]: [root]: cat /vmfs/volumes/ESXiLOCAL/logs/shell.log |
Saludos y espero que os guste