- Teste o comando find no terminal para buscar arquivos com a extensão .log;
laisvfm@lev:~/myapp/logs$ find . -name "*.log"
./myapp-frontend.log
./myapp-backend.log
- 3, 5 & 6.
#!/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"
done
laisvfm@lev:~/scripts-linux$ ./monitoramento-logs.sh
Verificando logs no diretorio ../myapp/logs
laisvfm@lev:~/scripts-linux$ cd
laisvfm@lev:~$ cd myapp/logs/
laisvfm@lev:~/myapp/logs$ ls
app.config myapp-backend.log myapp-frontend.log relatorio.txt
logs-erro myapp-backend.log.filtrado myapp-frontend.log.filtrado
- Teste o comando grep no terminal para filtrar as linhas de logs com a string ERROR e redirecione a saída desse comando para um arquivo usando o operador >;
laisvfm@lev:~/myapp/logs$ grep "ERROR" myapp-backend.log > logs-erro
- Teste o comando sed no terminal para substituir ocorrências de informações sensíveis, como senhas, no arquivo de logs;
laisvfm@lev:~/myapp/logs$ sed 's/User password is .*/User password is REDACTED/g' myapp-backend.log