# Dados de conexão PostgreSQL (use as variáveis do seu .env) DB_HOST="localhost" DB_PORT="5432" DB_USER="report_db" DB_NAME="report_db" DB_PASSWORD="123456" API_URL="https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd" # Formato da data para o dia anterior (YYYY-MM-DD) YESTERDAY_DATE=$(date -d "yesterday" '+%Y-%m-%d') echo "Buscando valor atual do Bitcoin (para salvar como $YESTERDAY_DATE)..." # Faz a requisição à API RESPONSE=$(curl -s "$API_URL") if [ -z "$RESPONSE" ]; then echo "Não foi possível obter resposta da API. Verifique sua conexão ou a URL." exit 1 fi # Extrai o preço usando jq price=$(echo "$RESPONSE" | jq -r '.bitcoin.usd') if [ -z "$price" ] || [ "$price" == "null" ]; then echo "Não foi possível extrair o preço do Bitcoin da resposta da API." exit 1 fi echo "Inserindo valor BTC de $price para a data $YESTERDAY_DATE no banco..." # Comando psql para inserir dados # O "ON CONFLICT (btc_value_date) DO NOTHING" garante que se a data já existir, não haverá erro de duplicidade. PGPASSWORD="$DB_PASSWORD" psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" <