init: scripts diversos (crawlers, conversores, scrapers)
This commit is contained in:
199
scraper/deploy_vps_batch4.sh
Executable file
199
scraper/deploy_vps_batch4.sh
Executable file
@@ -0,0 +1,199 @@
|
||||
#!/bin/bash
|
||||
# deploy_vps_batch4.sh - Deploy automático Batch 4 para VPS
|
||||
#
|
||||
# Author: Descomplicar® Crescimento Digital
|
||||
# Link: https://descomplicar.pt
|
||||
# Copyright: 2025 Descomplicar®
|
||||
|
||||
set -e # Exit on error
|
||||
|
||||
echo "=========================================="
|
||||
echo "CTF BATCH 4 - DEPLOY VPS"
|
||||
echo "Descomplicar® Crescimento Digital"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# Configurações
|
||||
VPS_HOST="easy.descomplicar.pt"
|
||||
VPS_PORT="22"
|
||||
VPS_USER="root"
|
||||
VPS_PATH="/root/scraper-ctf"
|
||||
LOCAL_DIR="/media/ealmeida/Dados/Dev/Scripts/scraper"
|
||||
|
||||
# Cores
|
||||
GREEN='\033[0;32m'
|
||||
RED='\033[0;31m'
|
||||
YELLOW='\033[1;33m'
|
||||
NC='\033[0m' # No Color
|
||||
|
||||
# Funções
|
||||
log_info() {
|
||||
echo -e "${GREEN}[INFO]${NC} $1"
|
||||
}
|
||||
|
||||
log_error() {
|
||||
echo -e "${RED}[ERROR]${NC} $1"
|
||||
}
|
||||
|
||||
log_warn() {
|
||||
echo -e "${YELLOW}[WARN]${NC} $1"
|
||||
}
|
||||
|
||||
# 1. Validar ficheiros locais
|
||||
log_info "Validando ficheiros locais..."
|
||||
REQUIRED_FILES=(
|
||||
"batch_scraper_v2_batch4.py"
|
||||
"ctf_config_batch4.json"
|
||||
"scraper.py"
|
||||
"requirements.txt"
|
||||
)
|
||||
|
||||
for file in "${REQUIRED_FILES[@]}"; do
|
||||
if [ ! -f "$LOCAL_DIR/$file" ]; then
|
||||
log_error "Ficheiro não encontrado: $file"
|
||||
exit 1
|
||||
fi
|
||||
log_info "✓ $file"
|
||||
done
|
||||
|
||||
# 2. Testar conectividade VPS
|
||||
log_info "Testando conectividade VPS..."
|
||||
if ssh -p $VPS_PORT -o ConnectTimeout=10 $VPS_USER@$VPS_HOST "echo 'OK'" > /dev/null 2>&1; then
|
||||
log_info "✓ VPS acessível"
|
||||
else
|
||||
log_error "VPS não acessível. Verificar SSH/firewall."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 3. Criar diretório remoto
|
||||
log_info "Criando diretório no VPS..."
|
||||
ssh -p $VPS_PORT $VPS_USER@$VPS_HOST "mkdir -p $VPS_PATH"
|
||||
|
||||
# 4. Transferir ficheiros
|
||||
log_info "Transferindo ficheiros..."
|
||||
scp -P $VPS_PORT \
|
||||
"$LOCAL_DIR/batch_scraper_v2_batch4.py" \
|
||||
"$LOCAL_DIR/ctf_config_batch4.json" \
|
||||
"$LOCAL_DIR/scraper.py" \
|
||||
"$LOCAL_DIR/requirements.txt" \
|
||||
$VPS_USER@$VPS_HOST:$VPS_PATH/
|
||||
|
||||
log_info "✓ Ficheiros transferidos"
|
||||
|
||||
# 5. Setup ambiente Python no VPS
|
||||
log_info "Configurando ambiente Python no VPS..."
|
||||
ssh -p $VPS_PORT $VPS_USER@$VPS_HOST << 'ENDSSH'
|
||||
cd /root/scraper-ctf
|
||||
|
||||
# Verificar Python 3
|
||||
if ! command -v python3 &> /dev/null; then
|
||||
echo "Python3 não encontrado. Instalar:"
|
||||
echo " apt update && apt install -y python3 python3-pip python3-venv"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Criar venv
|
||||
if [ ! -d "venv" ]; then
|
||||
python3 -m venv venv
|
||||
echo "✓ Virtual environment criado"
|
||||
fi
|
||||
|
||||
# Ativar venv e instalar dependências
|
||||
source venv/bin/activate
|
||||
pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
|
||||
# Instalar Playwright
|
||||
playwright install chromium
|
||||
playwright install-deps chromium
|
||||
|
||||
echo "✓ Dependências instaladas"
|
||||
ENDSSH
|
||||
|
||||
log_info "✓ Ambiente Python configurado"
|
||||
|
||||
# 6. Criar script de execução remoto
|
||||
log_info "Criando script de execução..."
|
||||
ssh -p $VPS_PORT $VPS_USER@$VPS_HOST << 'ENDSSH'
|
||||
cat > /root/scraper-ctf/run_batch4.sh << 'EOF'
|
||||
#!/bin/bash
|
||||
# Script execução Batch 4
|
||||
# Author: Descomplicar® Crescimento Digital
|
||||
|
||||
cd /root/scraper-ctf
|
||||
source venv/bin/activate
|
||||
|
||||
echo "=========================================="
|
||||
echo "CTF BATCH 4 SCRAPER - INICIANDO"
|
||||
echo "Hora início: $(date)"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# Executar scraper
|
||||
python3 batch_scraper_v2_batch4.py --config ctf_config_batch4.json
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
echo "SCRAPING CONCLUÍDO"
|
||||
echo "Hora fim: $(date)"
|
||||
echo "=========================================="
|
||||
|
||||
# Compactar resultados
|
||||
tar -czf results_batch4_$(date +%Y%m%d_%H%M%S).tar.gz \
|
||||
/root/scraper-ctf/output_md_batch4/ \
|
||||
/root/scraper-ctf/logs/
|
||||
|
||||
echo "✓ Resultados compactados"
|
||||
EOF
|
||||
|
||||
chmod +x /root/scraper-ctf/run_batch4.sh
|
||||
echo "✓ Script execução criado"
|
||||
ENDSSH
|
||||
|
||||
log_info "✓ Script execução criado"
|
||||
|
||||
# 7. Verificação final
|
||||
log_info "Verificação final..."
|
||||
ssh -p $VPS_PORT $VPS_USER@$VPS_HOST << 'ENDSSH'
|
||||
cd /root/scraper-ctf
|
||||
echo "Ficheiros no VPS:"
|
||||
ls -lh
|
||||
|
||||
echo ""
|
||||
echo "Python version:"
|
||||
source venv/bin/activate
|
||||
python3 --version
|
||||
|
||||
echo ""
|
||||
echo "Packages instalados:"
|
||||
pip list | grep -E "(playwright|beautifulsoup|requests)"
|
||||
ENDSSH
|
||||
|
||||
# 8. Instruções finais
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
log_info "DEPLOY CONCLUÍDO!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "PRÓXIMOS PASSOS:"
|
||||
echo ""
|
||||
echo "1. Ligar ao VPS:"
|
||||
echo " ssh -p $VPS_PORT $VPS_USER@$VPS_HOST"
|
||||
echo ""
|
||||
echo "2. Ir para diretório:"
|
||||
echo " cd $VPS_PATH"
|
||||
echo ""
|
||||
echo "3. EXECUTAR BATCH 4:"
|
||||
echo " nohup ./run_batch4.sh > execution.log 2>&1 &"
|
||||
echo ""
|
||||
echo "4. Monitorizar execução:"
|
||||
echo " tail -f execution.log"
|
||||
echo ""
|
||||
echo "5. Ver progresso logs:"
|
||||
echo " tail -f /media/ealmeida/Dados/GDrive/Cloud/Clientes_360/CTF_Carstuff/KB/Scrapper/sites/logs/batch4_execution_*.log"
|
||||
echo ""
|
||||
echo "6. DESCARREGAR RESULTADOS (após concluir):"
|
||||
echo " scp -P $VPS_PORT $VPS_USER@$VPS_HOST:$VPS_PATH/results_batch4_*.tar.gz ."
|
||||
echo ""
|
||||
echo "ESTIMATIVA: 48-60 horas execução"
|
||||
echo "=========================================="
|
||||
Reference in New Issue
Block a user