Criar registro de bash-commands e suas propriedades

0

Eu quero manter um histórico do que eu faço no bash e sua saída.

Eu preciso criar um banco de dados que possa armazenar

  1. comando
  2. caminho (na hora do comando)
  3. hora de início do comando
  4. horário de término do comando
  5. saída do comando

Posso anexar automaticamente essas variáveis em um arquivo CSV com bash-commands ou script python

Intenção: Estude o padrão e otimize para o comando repetido e veja a curva de aprendizado enquanto escreve / testa um código

oferecer direções ou pseudo-código se não puder resolvê-lo completo

    
por Manasvee Kumar 08.02.2018 / 17:51

1 resposta

0

Veja como eu faria:

Crie um script bash. Use este script bash para registrar e executar seus comandos bash. por exemplo, crie um arquivo log.sh assim:

#!/bin/bash
LOGFILE=/path/to/your/logfile.log
touch $LOGFILE
exec 3>&1 4>&2
trap 'exec 2>&4 1>&3' 0 1 2 3 RETURN
exec 1>>$LOGFILE 2>&1
echo "### log command ###"
echo "# start time: $(date)"
echo "# pwd: $(pwd)"
echo "# command: $@"
echo "# output: "
$@
echo "# end time: $(date)"
echo "###################"
exit 0

Agora você pode executar seus bash-comandos como este por exemplo ./log.sh df -h .

Ele criará um arquivo de registro, adicionará comentários de tempos e redirecionar todos stdout e stderr para o comando digitado nesse arquivo.

Mais tarde, você poderá analisar seu arquivo de log e criar um banco de dados a partir dele.

    
por Bob 08.02.2018 / 22:05