Comment conserver les journaux de tout le travail effectué via le terminal? Par exemple, je veux un enregistrement de tout le travail effectué sur la base de données via le terminal.
Lorsque vous êtes prêt à enregistrer un fichier journal, tapez:
script screen.log
Maintenant, jusqu'à ce que vous arrêtiez le script, toutes les entrées et sorties du terminal seront stockées dans screen.log. Lorsque vous avez terminé, tapez simplement:
exit
Votre fichier screen.log sera stocké dans le répertoire local. Si vous souhaitez le rediriger, utilisez un chemin d'accès absolu tel que ~/screen.log
. Cela fera exactement ce que vous recherchez.
Source: Guide Ubuntu - Comment se connecter Commandes de terminal
J'ai un meilleur moyen d’utiliser syslog pour enregistrer toutes les commandes shell, cela peut varier selon la distribution Linux, mais la méthode restera la même
Vous devez suivre certaines étapes:
Étape n ° 1 (service Create Syslog)
# vim /etc/rsyslog.d/bash.conf
local6.* /var/log/commands.log
Étape 2 (Ouvrez bashrc et entrez la commande ci-dessous)
# vim /root/.bashrc
# Enable CLI Logging by Mansur 08-12-2016
whoami="$(whoami)@$(echo $SSH_CONNECTION | awk '{print }')"export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$whoami [$$]: $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" ) [$RETRN_VAL]"'
Ste # 3 (Redémarrer le service Syslog)
# /etc/init.d/rsyslog
Voici un exemple de journal:
Dec 7 22:13:00 validationdb2 mahasan: [email protected] [13291]: tail -f /var/log/mysql/mysql.log [0] Dec 7 22:13:09 validationdb2 mahasan: [email protected] [13291]: ls -lh [0] Dec 7 22:13:27 validationdb2 mahasan: [email protected] [13291]: touch test command [0]
Lire d'autres questions sur les étiquettes command-line log tty