Skip to main content

📸 Organizador e Importador de Fotos - Accelero

Ferramenta para organizar e fazer upload de fotos de usuários para servidores de clientes Accelero.

📋 O que esta ferramenta faz?

Esta ferramenta automatiza o processo de migração de fotos entre diferentes sistemas de identificação:

  1. Renomeia fotos baseado em um arquivo CSV de mapeamento
  2. Organiza as fotos renomeadas em um diretório específico
  3. Faz upload das fotos processadas para o servidor do cliente via SSH/SCP

🎯 Quando usar?

Use esta ferramenta quando precisar:

  • Migrar fotos de usuários entre sistemas com IDs diferentes
  • Atualizar fotos em massa no servidor de um cliente
  • Fazer deploy de novas fotos mantendo as existentes

🔧 Pré-requisitos

1. Acesso SSH ao Servidor

Você precisa ter acesso SSH configurado para o servidor do cliente:

# Teste se consegue conectar ao servidor
ssh root@{nome-cliente}.accelerobr.com.br

2. Permissões nos Scripts

Garanta que os scripts têm permissão de execução:

chmod +x importar_fotos.sh
chmod +x upload_fotos.sh

3. Estrutura de Pastas

Certifique-se de ter esta estrutura:

organize-images/
├── images/ # 📁 Pasta com fotos originais
├── images-accelero/ # 📁 Pasta onde ficarão as fotos renomeadas (criada automaticamente)
├── import.csv # 📄 Arquivo de mapeamento
├── importar_fotos.sh # 🔧 Script de renomeação
└── upload_fotos.sh # 🔧 Script de upload

📂 Estrutura de Arquivos

Arquivo/PastaDescrição
images/Pasta contendo as fotos originais (com nomes atuais)
images-accelero/Pasta onde as fotos renomeadas são salvas (gerada automaticamente)
import.csvArquivo CSV com mapeamento: ID_Accelero,ID_Atual
importar_fotos.shScript que renomeia e organiza as fotos
upload_fotos.shScript que faz upload para o servidor do cliente
error.txtArquivo de log gerado com erros encontrados

🚀 Guia de Uso - Passo a Passo

Etapa 1: Preparar os Arquivos

1.1 Coloque as fotos na pasta images/

# Exemplo: copiar fotos de um pendrive
cp /media/pendrive/fotos/*.jpg images/

As fotos devem estar nomeadas com o ID atual (exemplo: 10051.jpg, 10052.jpg)

1.2 Prepare o arquivo CSV import.csv

O arquivo deve ter este formato:

cod_img_accelero,cod_img_atual
105590810,10051
368443494,10058
1074632108,10060
  • Primeira linha: Cabeçalho (não mexer)
  • Demais linhas: ID_do_Accelero,ID_Atual
  • Sem espaços antes ou depois das vírgulas

Etapa 2: Renomear as Fotos

Execute o script de importação:

./importar_fotos.sh

O que acontece:

  • As fotos de images/ são copiadas para images-accelero/
  • Durante a cópia, são renomeadas com o ID do Accelero
  • Um log de erros é gerado em error.txt

Saída esperada:

✅ Copiado: images/10051.jpg -> images-accelero/105590810_1.jpg
✅ Copiado: images/10058.jpg -> images-accelero/368443494_1.jpg
⚠️ Foto não encontrada para 10060

📄 Log de erros salvo em: error.txt

Etapa 3: Verificar Erros

Abra o arquivo error.txt para ver se há fotos faltando:

cat error.txt

Exemplo de conteúdo:

=== Log de Erros - 2025-10-20 16:30:45 ===

Foto não encontrada: 10060 (esperado em: images/10060.jpg)
Foto não encontrada: 10075 (esperado em: images/10075.jpg)

=== Resumo ===
Total de erros: 2

O que fazer se houver erros:

  • Verifique se as fotos realmente existem em images/
  • Confira se os nomes no CSV estão corretos
  • Adicione as fotos faltantes e execute novamente

Etapa 4: Fazer Upload para o Servidor

Execute o script de upload:

./upload_fotos.sh

O script vai perguntar:

==========================================
UPLOAD DE FOTOS - ACCELERO
==========================================

[PASSO 1/5] Identificação do Cliente
----------------------------------------
Digite o nome da facility (ex: demo):

Digite o nome do cliente (exemplo: demo, teste, cliente1)

Em seguida, o script:

  1. ✅ Verifica se há fotos em images-accelero/
  2. ✅ Testa conexão com o servidor
  3. ✅ Mostra um resumo:
[PASSO 4/5] Resumo do Upload
----------------------------------------
Facility: demo
Servidor: demo.accelerobr.com.br
Usuário SSH: root
Origem: images-accelero/
Destino: /root/docker/demo.accelerobr.com.br/client/public/user_pics/
Total de imagens: 1298

⚠️ ATENÇÃO: Imagens com mesmo nome serão substituídas no servidor!

Confirma o upload? (S/n):
  1. Digite S ou apenas ENTER para confirmar

  2. O upload começa e você vê o progresso:

[PASSO 5/5] Upload em Progresso
----------------------------------------
Verificando/criando diretório destino...
[OK] Diretório destino verificado

Iniciando transferência de arquivos...

10051.jpg 100% 245KB 1.2MB/s 00:00
10058.jpg 100% 189KB 1.8MB/s 00:00
10060.jpg 100% 312KB 2.1MB/s 00:00
...
  1. Ao final:
==========================================
UPLOAD CONCLUÍDO COM SUCESSO!
==========================================

[OK] Total de imagens enviadas: 1298
[OK] Localização no servidor: /root/docker/demo.accelerobr.com.br/client/public/user_pics/

Etapa 5: Verificar no Servidor

Para confirmar que as fotos chegaram:

# Conecte ao servidor
ssh root@demo.accelerobr.com.br

# Liste as fotos
ls -lh /root/docker/demo.accelerobr.com.br/client/public/user_pics/

# Conte quantas fotos tem
ls /root/docker/demo.accelerobr.com.br/client/public/user_pics/*.jpg | wc -l

💡 Exemplos Práticos

Exemplo Completo: Cliente "demo"

# 1. Coloque as fotos em images/
cp /origem/*.jpg images/

# 2. Verifique o CSV
head import.csv

# 3. Renomeie as fotos
./importar_fotos.sh

# 4. Confira se há erros
cat error.txt

# 5. Faça o upload
./upload_fotos.sh
# Digite: demo
# Digite: S (para confirmar)

# 6. Verifique no servidor
ssh root@demo.accelerobr.com.br "ls /root/docker/demo.accelerobr.com.br/client/public/user_pics/ | wc -l"

🔍 Troubleshooting (Solução de Problemas)

❌ Erro: "Permission denied"

Problema: Não tem permissão para executar o script

Solução:

chmod +x importar_fotos.sh
chmod +x upload_fotos.sh

❌ Erro: "Diretório 'images-accelero' não encontrado" (no upload)

Problema: Você não executou o script de importação antes

Solução:

# Execute primeiro o script de importação
./importar_fotos.sh

# Depois execute o upload
./upload_fotos.sh

❌ Erro: "Não foi possível conectar ao servidor"

Problema: Sem acesso SSH ao servidor ou nome errado

Solução:

# Teste a conexão manualmente
ssh root@{facility}.accelerobr.com.br

# Verifique se digitou o nome correto da facility
# Correto: demo
# Errado: demo.accelerobr.com.br (não coloque o domínio completo)

❌ Muitas fotos "não encontradas" no error.txt

Problema: Fotos não estão na pasta images/ ou nomes do CSV estão errados

Solução:

# Veja quais fotos você tem
ls images/

# Compare com o que o CSV está esperando
cat import.csv | head -20

# Verifique se os IDs na coluna "cod_img_atual" correspondem aos nomes dos arquivos em images/

❌ Upload interrompido no meio

Problema: Conexão caiu ou você cancelou (Ctrl+C)

Solução:

# Pode executar novamente sem problemas
./upload_fotos.sh

# O SCP vai substituir as fotos que já foram enviadas
# E enviar as que faltam

❓ FAQ (Perguntas Frequentes)

❔ O que fazer se algumas fotos não existirem?

O script vai continuar processando as outras fotos. As fotos não encontradas são listadas no error.txt. Você pode:

  • Adicionar as fotos faltantes em images/
  • Executar ./importar_fotos.sh novamente (só vai processar as novas)
  • As fotos que já foram processadas não são duplicadas

❔ Posso executar os scripts múltiplas vezes?

Sim! Os scripts são seguros para executar várias vezes:

  • importar_fotos.sh: Sobrescreve as fotos em images-accelero/
  • upload_fotos.sh: Substitui fotos com mesmo nome, adiciona novas

❔ Como desfazer um upload?

Não há como "desfazer" automaticamente. Você precisaria:

# Conectar ao servidor
ssh root@{facility}.accelerobr.com.br

# Remover as fotos manualmente (CUIDADO!)
rm /root/docker/{facility}.accelerobr.com.br/client/public/user_pics/*.jpg

⚠️ ATENÇÃO: Tenha certeza antes de deletar!

❔ Como verificar se o upload funcionou?

# Opção 1: Contar fotos no servidor
ssh root@demo.accelerobr.com.br "ls /root/docker/demo.accelerobr.com.br/client/public/user_pics/*.jpg | wc -l"

# Opção 2: Ver as últimas fotos enviadas
ssh root@demo.accelerobr.com.br "ls -lt /root/docker/demo.accelerobr.com.br/client/public/user_pics/ | head -20"

# Opção 3: Verificar uma foto específica
ssh root@demo.accelerobr.com.br "ls -lh /root/docker/demo.accelerobr.com.br/client/public/user_pics/105590810_1.jpg"

❔ O upload vai deletar fotos que já existem no servidor?

Não! O script:

  • ✅ Substitui fotos com mesmo nome (atualiza)
  • ✅ Adiciona fotos novas
  • ❌ Nunca deleta fotos

❔ Posso cancelar o upload no meio?

Sim, mas:

  • As fotos já enviadas ficam no servidor
  • Você pode executar novamente para enviar o resto
  • O SCP vai reenviar tudo (inclusive o que já foi)

📝 Referência Rápida

Comandos Principais

# 1. Renomear fotos
./importar_fotos.sh

# 2. Ver erros
cat error.txt

# 3. Upload para servidor
./upload_fotos.sh

# 4. Verificar no servidor
ssh root@{facility}.accelerobr.com.br "ls -lh /root/docker/{facility}.accelerobr.com.br/client/public/user_pics/"

Fluxo Completo

Fotos Originais (images/)

[importar_fotos.sh]

Fotos Renomeadas (images-accelero/)

[upload_fotos.sh]

Servidor do Cliente (/root/docker/{facility}.accelerobr.com.br/client/public/user_pics/)

Estrutura do CSV

cod_img_accelero,cod_img_atual
ID_ACCELERO,ID_ATUAL

🆘 Precisa de Ajuda?

Se encontrar problemas não listados aqui:

  1. Verifique o arquivo error.txt
  2. Teste a conexão SSH manualmente
  3. Confirme que as permissões dos scripts estão corretas
  4. Entre em contato com o time de infraestrutura

Última atualização: 2025-10-20