📸 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:
- Renomeia fotos baseado em um arquivo CSV de mapeamento
- Organiza as fotos renomeadas em um diretório específico
- 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/Pasta | Descrição |
|---|---|
images/ | Pasta contendo as fotos originais (com nomes atuais) |
images-accelero/ | Pasta onde as fotos renomeadas são salvas (gerada automaticamente) |
import.csv | Arquivo CSV com mapeamento: ID_Accelero,ID_Atual |
importar_fotos.sh | Script que renomeia e organiza as fotos |
upload_fotos.sh | Script que faz upload para o servidor do cliente |
error.txt | Arquivo 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 paraimages-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:
- ✅ Verifica se há fotos em
images-accelero/ - ✅ Testa conexão com o servidor
- ✅ 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):
-
Digite
Sou apenas ENTER para confirmar -
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
...
- 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.shnovamente (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 emimages-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:
- Verifique o arquivo
error.txt - Teste a conexão SSH manualmente
- Confirme que as permissões dos scripts estão corretas
- Entre em contato com o time de infraestrutura
Última atualização: 2025-10-20