Come posso conservare i registri di tutto il lavoro svolto tramite il terminale? Ad esempio, voglio una registrazione di tutto il lavoro svolto sul database tramite terminale.
Come posso conservare i registri di tutto il lavoro svolto tramite il terminale? Ad esempio, voglio una registrazione di tutto il lavoro svolto sul database tramite terminale.
Risposte:
Quando sei pronto per iniziare a registrare un file di registro, digita:
script screen.log
Ora, fino a quando non si interrompe lo script, tutto l'input e l'output nel Terminale verranno archiviati in screen.log. Al termine, basta digitare:
exit
Il file screen.log verrà archiviato nella directory locale. Se si desidera reindirizzarlo, utilizzare un percorso assoluto come ~/screen.log
. Questo farà esattamente quello che stai cercando.
Fonte: Guida di Ubuntu - Come registrare i comandi dei terminali
man script
) menziona anche vi
(editore) ...
Ho un modo migliore di usare syslog per registrare ogni comando della shell che può variare in base alla distribuzione di Linux ma il metodo rimarrà lo stesso
È necessario seguire alcuni passaggi:
Passaggio n. 1 (creazione del servizio Syslog)
# vim /etc/rsyslog.d/bash.conf
local6.* /var/log/commands.log
Step # 2 (Apri bashrc e inserisci il comando sotto)
# 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 (Riavvia servizio Syslog)
# /etc/init.d/rsyslog
Ecco un esempio di registro:
7 dic 22:13:00 validationdb2 mahasan: root @ export [13291]: tail -f /var/log/mysql/mysql.log [0] 7 dic 22:13:09 validationdb2 mahasan: root @ export [13291]: ls -lh [0] 7 dic 22:13:27 validationdb2 mahasan: root @ export [13291]: comando touch test [0]