This post appeared originally in our sysadvent series and has been moved here following the discontinuation of the sysadvent microsite

This post appeared originally in our sysadvent series and has been moved here following the discontinuation of the sysadvent microsite
Ever wanted to record a log of an interactive console session? Easy, just use
the script
utility. It’s probably already present on your system, no
installation required.
To start recording, run script --timing=script.tim script.log
. This spawns a
new shell, recording stops when you exit from it.
To replay the log, run scriptreplay script.tim script.log
. It is also
possible to speed up or slow down the playback speed. For example, in order to
play back the recording at half of the original speed, use scriptreplay
script.tim script.log 0.5
. Ctrl+S
pauses the playback, Ctrl+Q
resumes.
The nice thing about script
is that it records everything that happens on the
console, it’s not just a simple log of invoked commands. If you open a text
editor like vi
in the recorded session, you’ll be able to see exactly how and
where you navigate the cursor, exactly how and when text was changed -
including any typos that were later corrected, and so on.
For the full documentation, check out the manual pages script(1) and scriptreplay(1).
I’ve considered time tracking and I’ve tested several software solutions. Perspective matters - I’m a systems administrator, I prefer doing things through the command line, and my favorite programming language is Python. My recommendations will be biased. I also feel strongly about open source and free software, and I want full control of my own data. Solutions where I cannot download the source code is not considered, same if I need to send my data to some “cloud solution”.