- Use o comando sort no terminal, para ordenar um arquivo de logs com final .filtrado de acordo com a data;
sort myapp-backend.log.filtrado
ou
sort -r myapp-backend.log.filtrado
- Redirecione a saída do comando sort para um arquivo usando a opção -o;
sort myapp-backend.log.filtrado -o logs-ordenados
- Adicione o comando sort no script;
#!/bin/bash
LOG_DIR="../myapp/logs"
echo "Verificando logs no diretorio $LOG_DIR"
find $LOG_DIR -name "*.log" -print0 | while IFS= read -r -d '' arquivo; do
grep "ERROR" $arquivo > "${arquivo}.filtrado"
grep "SENSITIVE_DATA" $arquivo >> "${arquivo}.filtrado"
sed -i 's/User password is .*/User password is REDACTED/g' "${arquivo}.filtrado"
sed -i 's/User password reset request with token .*/User password reset request with token REDACTED/g' "${arquivo}.filtrado"
sed -i 's/API key leaked: .*/API key leaked: REDACTED/g' "${arquivo}.filtrado"
sed -i 's/User credit card last four digits: .*/User credit card last four digits: REDACTED/g' "${arquivo}.filtrado"
sed -i 's/User session initiated with token: .*/User session initiated with token: REDACTED/g' "${arquivo}.filtrado"
sort "${arquivo}.filtrado" -o "${arquivo}.filtrado"
done
- & 5.
uniq myapp-backend.log.filtrado > logs-sem-duplicatas
- Adicione o comando uniq no script, salvando sua saída em um arquivo com final .unico;
uniq "${arquivo}.filtrado" > "${arquivo}.unico"
7.
diff myapp-backend.log myapp-backend.log.unico