¿Cómo guardo registros de todo el trabajo realizado a través de la terminal? Por ejemplo, quiero un registro de todo el trabajo realizado en la base de datos a través de la terminal.
¿Cómo guardo registros de todo el trabajo realizado a través de la terminal? Por ejemplo, quiero un registro de todo el trabajo realizado en la base de datos a través de la terminal.
Respuestas:
Cuando esté listo para comenzar a grabar un archivo de registro, escriba:
script screen.log
Ahora, hasta que detenga el script, todas las entradas y salidas en la Terminal se almacenarán en screen.log. Cuando haya terminado, simplemente escriba:
exit
Su archivo screen.log se almacenará en el directorio local. Si desea redirigirlo, use un nombre de ruta absoluto como ~/screen.log
. Esto hará exactamente lo que estás buscando.
Fuente: Guía de Ubuntu - Cómo registrar comandos de terminal
man script
) incluso menciona vi
(editor) ...
Tengo una mejor manera de usar syslog para registrar cada comando de shell, esto puede variar según la distribución de Linux, pero el método seguirá siendo el mismo
Debes seguir algunos pasos:
Paso 1 (Crear servicio Syslog)
# vim /etc/rsyslog.d/bash.conf
local6.* /var/log/commands.log
Paso # 2 (Abra bashrc e ingrese el siguiente comando)
# vim /root/.bashrc
# Enable CLI Logging by Mansur 08-12-2016
whoami="$(whoami)@$(echo $SSH_CONNECTION | awk '{print $1}')"export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$whoami [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
Ste # 3 (reiniciar el servicio Syslog)
# /etc/init.d/rsyslog
Aquí hay una muestra de registro:
7 de diciembre 22:13:00 validationdb2 mahasan: root @ export [13291]: tail -f /var/log/mysql/mysql.log [0] 7 de diciembre 22:13:09 validationdb2 mahasan: root @ export [13291]: ls -lh [0] 7 de diciembre 22:13:27 validationdb2 mahasan: root @ export [13291]: comando de prueba táctil [0]