Pular para conteúdo

Projeto 12: Redirecionamento de Fluxos I/O, Pipes e Filtros de Texto 🚀

Escopo do Projeto

Objetivo: Implementar uma automação robusta em ambiente Linux aplicando na prática todos os conceitos de Redirecionamento de Fluxos I/O, Pipes e Filtros de Texto.


🎯 1. Contexto & Desafio de Produção

Você é o administrador de sistemas / engenheiro DevOps responsável pela infraestrutura de servidores da empresa. Sua missão é projetar um procedimento técnico padronizado para Redirecionamento de Fluxos I/O, Pipes e Filtros de Texto que possa ser executado de maneira automatizada e auditável em centenas de servidores em nuvem.


📋 2. Requisitos de Engenharia

  • R1 (Idempotência): A execução do procedimento deve ser segura caso seja rodada múltiplas vezes (não criar duplicatas nem quebrar arquivos existentes).
  • R2 (Logs e Auditoria): O procedimento deve gerar saída clara em tela e registrar logs detalhados com carimbo de data/hora (timestamp).
  • R3 (Tratamento Seguro de Erros): Utilizar set -euo pipefail no script Bash, garantindo interrupção imediata caso ocorram comandos falhos inesperados.
  • R4 (Mínimo Privilégio): Exigir sudo apenas onde for estritamente indispensável, rodando tarefas de inspeção com permissões de usuário padrão.

🛠️ 3. Diagrama do Procedimento de Automação

graph TD
    A["Início do Script Bash"] --> B["Verificação de Pré-requisitos & Dependências"]
    B --> C["Execução das Tarefas de Redirecionamento de Fluxos I/O, Pipes e Filtros de Texto"]
    C --> D["Validação de Sanidade & Teste de Retorno"]
    D --> E["Registro em Log & Encerramento Limpo"]

    style A fill:#e3f2fd,stroke:#1565c0
    style B fill:#fff3e0,stroke:#e65100
    style C fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px
    style D fill:#f3e5f5,stroke:#7b1fa2
    style E fill:#e0f2f1,stroke:#00796b

💻 4. Código Esqueleto de Partida

#!/usr/bin/env bash
set -euo pipefail

LOG_FILE="/tmp/projeto_12_$(date +%Y%m%d).log"

log() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $*" | tee -a "$LOG_FILE"
}

log "Iniciando Projeto 12 - Redirecionamento de Fluxos I/O, Pipes e Filtros de Texto..."

# Implementação das tarefas
log "Executando procedimentos..."

log "Projeto concluído com sucesso!"

📦 5. Critérios de Entrega

  1. Script Bash salvo e com permissão de execução (chmod +x script.sh).
  2. Execução sem erros no terminal com código de saída 0 (echo $?).
  3. Arquivo de log gerado comprovando a execução bem-sucedida de todas as etapas.