No crontab, agendei um script de backup diário. Agora, quando o cron executa o script, o status é registrado em um arquivo de log, como mostrado abaixo.
0 0 * * * /home/backup.sh > /home/groupz/db-backup/fbackup.log 2>&1
Agora, quando o cron executa um script, o conteúdo do log é renovado toda vez. Portanto, quero que o conteúdo seja adicionado ao mesmo arquivo com carimbo de data e hora do tempo executado e abaixo do conteúdo de cada momento, juntamente com o conteúdo existente. Como posso fazer isso.
+%d-%m-%y/%H:%M:%S
+\%d-\%m-\%y/\%H:\%M:\%S
Respostas:
porque não apenas
0 * * * * (/bin/date && /home/backup.sh) >> /var/log/backup.log 2>&1
fonte
Como obter o registro de data e hora em um arquivo
Para adicionar um carimbo de data / hora em um arquivo, use
date
verman date
para mais detalhes. Por exemplo, se você usar no terminal, terá saída como,A saída está no formato
dd-mm-yy/hour:min:sec
Se você deseja colocar o carimbo de data / hora em um arquivo, use
Redirecionamento
Se você usar
date +%d-%m-%y/%H:%M:%S > filename
, a data será armazenada no arquivo, mas será substituída toda vez que você usar o comando. Para anexá-lo a um arquivo existente, use:Ele adicionará a última saída de execução no final do seu arquivo existente.
O que você faz no seu caso
Você pode adicionar a seguinte linha no final do seu
/home/backup.sh
,E use o seguinte no crontab,
Eu acho que a modificação acima deve fazer o que você deseja.
fonte
(No Debian Jessie) Use o
ts
comando que faz parte domoreutils
pacote. Por exemplo:Isso precederá o registro de data e hora de todas as linhas da saída e o salvará em seu log.
fonte
moreutils
Como você está executando um script de shell, por que não adicionar uma linha como,
no seu script, ou seja, /home/backup.sh
Então
anexará uma linha antes / depois do fbackup.log como qui Jun 14 11:10:22 UTC de 2018
fonte
echo `date -u`
o mesmo quedata -u
?Você pode acrescentar algo a um arquivo usando duas dessas coisas '>'.
fonte