ÁctiusPDV - Como Resolver Sincronismo de IpVPN, Último Contato e Reinício

🎯 Objetivo

No ÁctusPDV, todas as funções executadas localmente no terminal são realizadas por Shell Scripts.

Quando algum desses scripts:

  • Está corrompido

  • Está desatualizado

  • Foi alterado

  • Ou não está sendo executado corretamente

Podem ocorrer falhas operacionais no PDV.

Esta base de conhecimento descreve como identificar e corrigir esses problemas.


⚠️ Sintomas Comuns

  • ERP envia comando de reinício e o PDV não reinicia.

  • No reinício automático da madrugada, o terminal trava na tela azul.

  • IP da VPN não atualiza.

  • Campo “Último Contato” não atualiza no ERP.

  • Serial ou IP Local não sincronizam.

  • Comando de impressão não chega na impressora.

  • Comando de pesagem não captura o peso da balança.


🔎 Entendendo o Problema

No Status PDV, informações como:

  • IP VPN

  • Último Contato

  • Serial

  • IP Local

São coletadas por scripts locais no PDV e enviadas ao ERP pelo ACTUSPDV.

Se os scripts falharem → os dados deixam de ser atualizados.


🖥️ ETAPA 1 – Acessar o Terminal via SSH

Antes de qualquer verificação, é necessário acessar o terminal do PDV.

🔹 Descobrir o IP do Terminal

  1. No PFSense → localizar o IP interno.

  2. Se cliente estiver na loja:

    • Pedir para acessar:
      👉 meuip.com.br

    • Informar o IP exibido.

  3. Com esse IP público, localizar o IP interno no PFSense.

  4. Acessar o terminal via GCM / SSH.


🧾 ETAPA 2 – Confirmar que está no Terminal Correto

Após acessar:

sudo su cat containerhomedir/homedir/.config/actus-pdv/unidade.json

Verifique se os dados da unidade (CNPJ, nome, cidade, etc.) correspondem ao PDV correto.

Exemplo:

{ "id": 1, "codigo": "1", "nome": "TRANS BUS", "razaoSocial": "00215-TO GO DAY NIGHT", "cnpj": "61.943.843/0001-16", "cidade": "CACHOEIRINHA", "estado": "RS" }

🔧 ETAPA 3 – Verificar Scripts Essenciais


📌 A) Verificar arquivo atualiza.sh

ls -la .tools/atualiza.sh

Deve retornar:

-rwxrwxrwx 1 actuspdv actuspdv 10102 Feb 19 00:43 .tools/atualiza.sh

🔎 Tamanho correto: 10102

Se estiver diferente → atualizar:

sudo su cd .tools wget [email protected] --ftp-password=FTPPublico@E4 \ ftp://ftp.e4sistemas.com.br/actuspdv/gcm/atualiza.sh -O atualiza.sh

📌 B) Verificar arquivo /etc/rc.local

ls -la /etc/rc.local

Deve retornar:

-r-xr-xr-x 1 root root 114 Aug 12 2025 rc.local

🔎 Tamanho correto: 114


🔎 Descobrir Arquitetura

dpkg --print-architecture
  • amd64 → PC

  • arm → Raspberry


🔹 Atualizar rc.local

sudo su cd /etc

Se for PC (amd64):

wget [email protected] --ftp-password=FTPPublico@E4 \ ftp://ftp.e4sistemas.com.br/actuspdv/amd64/rc.local -O rc.local

Se for ARM:

wget [email protected] --ftp-password=FTPPublico@E4 \ ftp://ftp.e4sistemas.com.br/actuspdv/arm/rc.local -O rc.local

📌 C) Verificar arquivo /etc/rc.local.2

ls -la /etc/rc.local.2

Deve retornar:

-r-xr-xr-x 1 root root 756 Feb 21 08:24 rc.local.2

🔎 Tamanho correto: 756


🔹 Atualizar rc.local.2

sudo su cd /etc

Se for PC (amd64):

wget [email protected] --ftp-password=FTPPublico@E4 \ ftp://ftp.e4sistemas.com.br/actuspdv/amd64/rc.local.2 -O rc.local.2

Se for ARM:

wget [email protected] --ftp-password=FTPPublico@E4 \ ftp://ftp.e4sistemas.com.br/actuspdv/arm/rc.local.2 -O rc.local.2

🔄 ETAPA 4 – Verificar Serviço MONITOR

📌 O que é o Monitor?

O serviço monitor.service:

  • Escuta eventos de balança

  • Escuta impressora

  • Monitora rede

  • Corrige falhas de DHCP / troca de IP

  • Mantém estabilidade operacional

⚠️ PDVs com operador DEVEM OBRIGATORIAMENTE ter o monitor instalado.

Mesmo PDVs autônomos podem precisar, especialmente em ambientes com internet instável.


📥 Instalar o Monitor

sudo su cd /home/actuspdv wget [email protected] --ftp-password=FTPPublico@E4 \ ftp://ftp.e4sistemas.com.br/actuspdv/util/monitor.sh chmod +x monitor.sh ./monitor.sh

✅ Verificar se o Serviço Está Rodando

systemctl is-active monitor.service

Possíveis retornos:

  • active → Está rodando ✅

  • inactive → Está parado

  • failed → Falhou

Para diagnóstico detalhado:

systemctl status monitor.service

Ou:

journalctl -u monitor.service -f

🔁 Finalização

Após todas as verificações e correções:

reboot

📌 Conclusão

Se:

  • Scripts estiverem atualizados

  • rc.local e rc.local.2 corretos

  • Monitor ativo

  • Terminal correto validado

➡️ 99% dos problemas de sincronismo, reinício e periféricos serão resolvidos.