Como criar um Full Back-up automático da hospedagem cPanel via URL ou CRON

Este tutorial ensina como configurar um backup completo automático da hospedagem cPanel, utilizando um script PHP acessível via URL ou agendado pelo cron.

1. Gerando o Token de API no cPanel

Primeiramente, é necessário gerar um Token de API no painel cPanel:

  • Acesse o cPanel da conta de hospedagem.
  • No menu, busque por Gerenciador de Tokens de API.
  • Clique em Criar Token.
  • Dê um nome ao token, como "bkp_full_automatico".
  • Selecione Sem restrições para dar permissão completa ao token.
  • Clique em Criar e copie o Token gerado (será mostrado apenas uma vez).

2. Criando o Script PHP de Backup

Agora, crie um arquivo PHP com o nome backup-cpanel-automatico.php no diretório do seu servidor, por exemplo: https://seudominio.com.br/scripts/backup-cpanel-automatico.php.

Adicione o seguinte código no seu script:

<?php
// =======================
// CONFIGURAÇÕES
// =======================
$tokenSecreto = 'tokensecreto123'; // Token de segurança da URL
$cpanelUser = 'USUARIO_CPANEL'; // Ex: ddrhost
$tokenAPI = 'TOKEN_DO_CPANEL'; // Ex: FSD67T63GRWEFSG7V40XY8Q3RTB0QI4T
$cpanelHost = 'SEU_SERVIDOR'; // Ex: zeus.hostsrv.org
$cpanelPort = 2083;

// =======================
// VERIFICA TOKEN DA URL
// =======================
$tokenRecebido = trim($_GET['token'] ?? '');
if ($tokenRecebido !== $tokenSecreto) {
http_response_code(403);
echo "Acesso negado.";
exit;
}

// =======================
// CHAMADA DA API
// =======================
$url = "https://$cpanelHost:$cpanelPort/execute/Backup/fullbackup_to_homedir";
$headers = [
"Authorization: cpanel $cpanelUser:$tokenAPI"
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

$response = curl_exec($ch);

if (curl_errno($ch)) {
echo "Erro CURL: " . curl_error($ch);
} else {
echo "Resposta da API:\n";
echo $response;
}

curl_close($ch);
?>

Este script iniciará o backup completo e o armazenará no diretório home da conta cPanel.

3. Testando o Script

Após a criação do script, acesse a URL do script pelo navegador ou via curl, passando o token de segurança:

https://seudominio.com.br/scripts/backup-cpanel-automatico.php?token=tokensecreto123

Se o backup for iniciado corretamente, a resposta da API será algo como:

{"data":{"pid":"12345"},"status":1}

4. Agendando o Backup Automático via Cron

Se deseja agendar o backup para ocorrer automaticamente, você pode configurar uma tarefa cron. Para isso, edite o cron do servidor com o seguinte comando:

0 3 * * * /usr/bin/curl -s "https://seudominio.com.br/scripts/backup-cpanel-automatico.php?token=tokensecreto123" >> /home/USUARIO/log-backup.txt 2>&1

Esse comando agendará o script para rodar todos os dias às 03:00h e o log será salvo em /home/USUARIO/log-backup.txt.

5. Onde o Backup é Armazenado

O backup será gerado no diretório home do cPanel da conta, com o nome do arquivo sendo algo como:

/home/USUARIO/backup-MM.DD.YYYY_HH-MM-SS_USUARIO.tar.gz

Você pode acessar o arquivo via Gerenciador de Arquivos ou FTP.

6. Segurança

  • Token de API: Não compartilhe o token gerado publicamente. Mantenha-o em local seguro.
  • Token na URL: Sempre utilize um token forte como tokensecreto123 para proteger o script.
  • SSL/HTTPS: Certifique-se de que o servidor onde o script está hospedado use SSL (HTTPS) para garantir a segurança na comunicação.


Com esse procedimento, você configurou uma solução para realizar backups completos automaticamente via URL ou cron, garantindo maior segurança e integridade dos seus dados.

Este artigo foi útil? 1 usuários acharam isso útil