Automatizando acesso ao Plesk via CLI: escopo Bash, token e função resiliente
Voltar para blog

Automatizando acesso ao Plesk via CLI: escopo Bash, token e função resiliente

07/06/2026 · 2 min · Infraestrutura

Gerar URL de login do Plesk via terminal é uma automação simples, mas os erros mais comuns em Bash tornam o comando frágil em produção. Neste artigo, mostro o que falhou no modelo com alias e como transformei em função confiável para uso diário em operações.

Erro inicial e por que acontece#

Tentativa problemática:

alias plesklogin = token=$(plesk login | cut -d/ -f4) || echo "https://0.0.0.0:8443/$token"

Falhas técnicas:

  1. alias não aceita espaços em =;
  2. expansão de variável fora do contexto esperado;
  3. || executa na falha, não no sucesso;
  4. sem controle de retorno do comando plesk login.

Modelo correto: função com fluxo explícito#

plesklogin() {
  local host="${PLESK_HOST:-your-server-ip}"
  local raw token

  raw="$(plesk login 2>/tmp/plesklogin.err)"
  if [ $? -ne 0 ] || [ -z "$raw" ]; then
echo "Erro ao gerar token de login." >&2
cat /tmp/plesklogin.err >&2
return 1
  fi

  token="$(printf '%s' "$raw" | awk -F/ '{print $NF}')"
  if [ -z "$token" ]; then
echo "Token vazio ou formato inesperado: $raw" >&2
return 1
  fi

  echo "https://${host}:8443/${token}"
}

Boas práticas que adotei#

1) Evitar parsing frágil#

Se o formato de saída do Plesk mudar, cut -d/ -f4 quebra. Prefiro extrair o último segmento com awk -F/ '{print $NF}' e validar retorno.

2) Tratar erro de permissão#

plesk login pode falhar por usuário sem privilégio administrativo. Sempre propague erro com return 1.

3) Não logar token sem necessidade#

Token de login é sensível. Evito salvar em histórico/log persistente.

Integração com clipboard e browser (opcional)#

Linux com xclip:

plesklogin | tee /tmp/plesk-url.txt | xclip -selection clipboard

Abrir direto no navegador:

xdg-open "$(plesklogin)"

Persistência da função#

Adicionar em ~/.bashrc:

nano ~/.bashrc
source ~/.bashrc

Para Zsh:

nano ~/.zshrc
source ~/.zshrc

Endurecimento para ambiente multiadmin#

Para times com múltiplos administradores, adiciono guardas para evitar uso sem contexto:

plesklogin() {
  [ "$(id -u)" -eq 0 ] || { echo "Execute como root ou usuário autorizado" >&2; return 1; }
  command -v plesk >/dev/null 2>&1 || { echo "plesk CLI não encontrada" >&2; return 1; }
  # restante da função...
}

Também removo arquivo temporário de erro após execução para não deixar rastro:

rm -f /tmp/plesklogin.err

Validação pós-implementação#

Checklist que uso:

  1. função retorna URL válida em shell limpo;
  2. função falha com código não-zero quando plesk login falha;
  3. token não fica salvo em histórico;
  4. execução funciona em bash e zsh no host operacional.

Considerações práticas#

Trocar alias por função foi o ponto que transformou automação instável em ferramenta operacional confiável. Em shell, escopo de variável, parse robusto e tratamento explícito de falha são o que separa atalho rápido de rotina profissional.

Este artigo foi útil?

Deixe uma reação rápida para apoiar o conteúdo:

CC BY-NC

Este post está licenciado sob CC BY-NC.

Comentários

Participe da discussão abaixo.

0 comentários