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:
// =======================
// 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:
Se o backup for iniciado corretamente, a resposta da API será algo como:
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:
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:
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.