lastUpdate="$(stat -c %Y myLogFile.log)"
now="$(date +%s)"
let diff="${now}-${lastUpdate}"
Estou tentando calcular o tempo decorrido desde a última atualização do arquivo de log.
Acho que os seguintes comandos serão usados
lastUpdate=$(date -r myLogFile.log)
now=$(date)
Como posso subtraí-los e obter o resultado pelo número de segundos decorridos?
compare as duas saídas para obter o número de segundos entre agora e a data modificada
stat -c %Y file vs date +%s
Você está quase lá! Basta informar date
para usar um formato no qual a computação seja fácil.
lastUpdate=$(date -r myLogFile.log +%s)
now=$(date +%s)
file_age=$((now - lastUpdate))
Um forro:
stat -c %Y /path/to/file | echo 'expr $(date +%s) - $(cat)'
Tags date ksh shell shell-script