How do I keep logs of all the work done via terminal? For example, I want a record of all the work done on database via terminal.
24 Answers
When you are ready to start recording a log file, type:
script screen.logNow, until you stop the script, all input and output in the Terminal will be stored in screen.log. When you are done, just type:
exitYour screen.log file will stored in the local directory. If you want to redirect it, use an absolute pathname such as ~/screen.log. This will do exactly what you are looking for.
Source: Ubuntu Guide - How To Log Terminal Commands
2You may want to try out Asciinema. In addition to just making a recording you get the ability to share it and embed the player on your blog, article or in a conference talk.
I have a better way to use syslog for logging every shell command this can be vary upon linux distribution but method will remain same
You need to follow some steps:
Step # 1 (Create Syslog service)
# vim /etc/rsyslog.d/bash.conf
local6.* /var/log/commands.logStep # 2 (Open bashrc and enter below command)
# 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 (Restart Syslog Service)
# /etc/init.d/rsyslogHere is a log sample:
Dec 7 22:13:00 validationdb2 mahasan: root@export [13291]: tail -f /var/log/mysql/mysql.log [0] Dec 7 22:13:09 validationdb2 mahasan: root@export [13291]: ls -lh [0] Dec 7 22:13:27 validationdb2 mahasan: root@export [13291]: touch test command [0]3
nhi will perfectly solve your problem. This tool automatically captures all potentially useful information about each executed command (as well as its output).
With nhi you can easily retrieve any shell session (or terminal output) in its entirety, or only commands that you are interested in, by using an advanced querying mechanism provided by nhi.
Note:
I am the creator of this tool. If you have questions, please feel free to ask.
7