Como obtenho a diferença entre dois timestamps?

7

Estou criando um script de backup simples. Gostaria de receber uma mensagem dizendo "Seu último backup há x dias" no login. Eu posso criar um arquivo quando eu faço o backup "backup / .last_backup_timestamp", mas que formato devo usar e como eu iria encontrar a diferença nos dias entre então e agora no bash?

Obrigado

    
por ashleysmithgpu 29.12.2011 / 20:32

1 resposta

8

Você pode usar o utilitário date para gravar o registro de data e hora de file e o horário atual como segundos decorridos a partir do Época e formatar uma cadeia para converter os segundos da diferença em dias com bc :

echo "scale=2; ($(date +%s)-$(date -r file +%s)) / (3600 * 24)" \
  | bc
    
por 29.12.2011 / 21:05