Добавляем следующую строку в файл /etc/bash.bashrc:
export PROMPT_COMMAND='RETRN_VAL=$?
logger -p local6.debug "$(whoami) [$$]: $(history 1 | sed "s/^[ ]*[0-9]+[ ]*//" ) [$RETRN_VAL]"'
Таким образом вся история пользователя будет попадать в rsyslog с уровнем local6.
Создаем файл /etc/rsyslog.d/bash.conf с содержимым:
local6.* /var/log/commands.log
Рестартуем rsyslog и проверяем, что лог у нас пишется. Для этого нужно перезайти на сервер и выполнить несколько команд. Все они должны появиться в логе.