Inserindo uma data e hora de execução de um script bash em um arquivo

2

Eu preciso descobrir como inserir automaticamente uma data e hora de execução de um determinado arquivo de script bash, em um arquivo txt. Vamos apenas dizer que eu tenho um script bash chamado backup.sh, e cada vez que o backup.sh é executado, ele cria automaticamente um arquivo txt chamado Execution.txt e, dentro desse arquivo txt, a data e a hora da execução do backup.sh seria escrito lá. Alguém tem idéias para fazer isso? Eu pesquisei por algumas respostas, mas não encontrei nada. Qualquer ajuda seria apreciada! Desde já, obrigado.

    
por JLWK 24.03.2014 / 17:42

3 respostas

7

Basta colocar isso dentro do seu arquivo backup.sh :

date > Execution.txt

Isto irá criar o arquivo Execution.txt dentro do diretório de trabalho atual. O arquivo conterá a data e a hora atuais (se já existirem, serão sobrescritas). Claro que você pode especificar um caminho absoluto para o arquivo:

date > /absolute/path/to/Execution.txt

Para anexar ao arquivo (em vez de sobrescrevê-lo), use >> em vez de > , ou seja,

date >> Execution.txt
    
por Malte Skoruppa 24.03.2014 / 17:45
3

Se você deseja registrar a data de um evento em um script, é provável que deseje manter um registro em execução. O comando date pode ser colocado em serviço como um simples registrador de eventos:

date +'%c|Backup started' >> backup.log

A opção + permite formatar a data da maneira que você escolheu. Os detalhes da formatação da data são explicados em man date . O comando acima irá acrescentar uma linha ao log que se parece com algo como:

Tue Mar 25 14:49:28 2014|Backup started

O separador de canal torna a análise do log um pouco mais fácil se você adicionar eventos diferentes:

date +"%c|Backup completed: $?" >> backup.log

$? é o status de retorno do último comando a ser executado, mas você pode usar qualquer variável que possa ser útil para depuração posterior. (Nota: você precisa usar aspas duplas se quiser que as variáveis sejam interpoladas.) Olhando para o log, você seria capaz de descobrir uma possível falha:

Tue Mar 25 14:49:28 2014|Backup started
Tue Mar 25 14:49:52 2014|Backup completed: 1
    
por Jon Ericson 25.03.2014 / 15:59
2

Você precisa adicionar a seguinte linha no seu script backup.sh :

date >> /path/to/Execution.txt

Explicação:

  • date - imprime a data e a hora do sistema
  • >> /path/to/Execution.txt redireciona a saída e a anexa ao arquivo /path/toExecution.txt .
por Radu Rădeanu 24.03.2014 / 17:45