- primeira página
- Lista de blogs
- Artigo detalhado
Como converter timestamp em logs de servidor Linux
P
PixelVibes
Daily
Time Analytics
wiki
AMAMAMAM-09-17

# Como converter timestamp em logs de servidor Linux
## Métodos Nativos do Linux
Use o comando `date` para converter timestamps Unix rapidamente. O formato básico é:
```bash
date -d @1659372842
Para formatos personalizados, adicione parâmetros strftime:
date -d @1659372842 +'%d/%m/%Y %H:%M:%S'
Processe logs em massa com awk:
awk '{print strftime("%c",$1)}' access.log
Ajuste o fuso horário diretamente no comando:
TZ='America/Sao_Paulo' date -d @1659372842
Ferramentas Especializadas
Para logs JSON, use jq com filtros temporais:
jq '.timestamp |= (. | tonumber | strftime("%F %T"))' log.json
Em Python, utilize a biblioteca datetime:
from datetime import datetime
print(datetime.fromtimestamp(1659372842).strftime('%Y-%m-%d %H:%M:%S'))
Casos Práticos
Apache: Converta o formato %t do CustomLog:
date -d "$(echo '[01/Jul/2023:10:15:32' | sed 's:/: :g')"
Nginx: Trate timestamps com milissegundos:
date -d @$(echo 1659372842.123 | cut -d. -f1)
Systemd: Para microssegundos no journalctl:
date -d @$(echo '1659372842123456' | cut -c1-10)
Solução de Problemas
Valores negativos indicam datas antes de 1970:
date -d '@-123456789'
Corrija timezones em containers Docker:
docker run -v /etc/localtime:/etc/localtime:ro sua_imagem
Para o problema do ano 2038 em sistemas 32-bit:
date -d '@2147483647'
Otimização em Larga Escala
Padronize para ISO 8601 em sistemas distribuídos:
date -u +"%Y-%m-%dT%H:%M:%SZ"
Sincronize relógios com chrony:
chronyc tracking
Monitore dessincronizações:
ntpq -pn

