Script para backup automático de contas cPanel e MySQL

Este é um script simples que deriva do processo de backup do cPanel e permite gerar Full Backups ou backups totais de uma conta cPanel (dados+emails+bases de dados) usando PHP. Este script torna a tarefa de fazer backup do teu site mais simples e consistente permitindo gerar e manter backups da sua conta de uma forma automática.

Nunca se esqueça, mais vale um backup na mão, do que os seus dados a voar

Criar um ficheiro backup.php com o seguinte conteudo:



// Script PHP que permite fazer backups automáticos periódicos do cPanel para por exemplo um FTP remoto.
// Este script contém PASSWORDS. Coloque este script num lugar seguro! (coloque na directoria home e não em /www/)

// ********* OS SEGUINTES ITEMS NECESSITAM DE SER CONFIGURADOS *********

// Info required for cPanel access
$cpuser = "nomedouser"; // Nome do user usado para login no cPanel
$cppass = "password"; // Password usada para login no cPanel
$domain = "dominio.com"; // Nome do dominio onde o cPanel corre
$skin = "x3"; // Parametro da skin/tema usado no cPanel. A maioria actualmente usa o x3 ou o x

// Informação necessária para o host de FTP
$ftpuser = "ftpusername"; // Nome do user da conta de FTP do servidor de destino
$ftppass = "ftppassword"; // Password da conta de FTP
$ftphost = "ftp.dominio.com"; // Dominio ou endereço IP do servidor de destino
$ftpmode = "ftp"; // Modo do FTP ("ftp" para modo activo, "passiveftp" para modo passivo)

// Informação de notificação
$notifyemail = "email@dominio.com"; // Endereço de email para enviar os resultados do backup

// Modo seguro ou não seguro
$secure = 0; // Coloque 1 para usar SSL (Necessita de suporte SSL), ou deixe em 0 (zero) para usar o normal http

// Coloque a 1 para adicionar informação adicional de debug no log do cron
$debug = 0;

// *********** NãO EXISTE NECESSIDADE DE MUDAR MAIS NADA ABAIXO DESTA LINHA *********

if ($secure) {
$url = "ssl://".$domain;
$port = 2083;
} else {
$url = $domain;
$port = 2082;
}

$socket = fsockopen($url,$port);
if (!$socket) { echo "Falha ao abrir a ligação via socket� Saindo daqui!\n"; exit; }

// Encode authentication string
$authstr = $cpuser.":".$cppass;
$pass = base64_encode($authstr);

$params = "dest=$ftpmode&email=$notifyemail&server=$ftphost&user=$ftpuser&pass=$ftppass&submit=Generate Backup";

// Fazer o POST ao cPanel
fputs($socket,"POST /frontend/".$skin."/backup/dofullbackup.html?".$params." HTTP/1.0\r\n");
fputs($socket,"Host: $domain\r\n");
fputs($socket,"Authorization: Basic $pass\r\n");
fputs($socket,"Connection: Close\r\n");
fputs($socket,"\r\n");

// Apanhar a resposta ao POST mesmo que não se faça nada com ela.
while (!feof($socket)) {
$response = fgets($socket,4096);
if ($debug) echo $response;
}

fclose($socket);?>

Para configurar a forma como os backups serão efectuados tens de criar um Cron Job no cPanel:

15 2 * * * /usr/local/bin/php /home/youraccount/backup.php

(Corre todos os dias às 2:15 da manhã)

ou

15 2 * * 1 /usr/local/bin/php /home/youraccount/backup.php

Esta resposta lhe foi útil?

 Imprimir este Artigo

Veja também

Apontamento de Dominios

Para Apontar um domínio para o seu domínio atual faça o seguinte:- Vá à área "Domínios" de seu...

Configurando acesso remoto ao MySQL

Por padrão, os bancos de dados MySQL são acessados sempre localmente (localhost)....

Criando DB MySQL

1) Entre em seu painel de controle;2) Clique sobre o ícone "base de dados MySQL";3)...

Fazer backup completo (fullbackup) e parcial

Uma das vantagens de utilizar o cPanel é o seu sistema de backups que permite...

Manual Básico do Cpanel

Todas as contas criadas em nossos servidores tem acesso ao painel de controle CPANEL. Este...

Powered by WHMCompleteSolution