Como fazer um backup automatico do cPanel

Apesar de a PTServidor fazer backups diários a todas as contas é recomendável que também faça um principalmente se fizer dados na sua conta e quiser apenas recuperar alguns ficheiros pois quando nós restauramos um backup a conta toda é restaurada e não apenas alguns ficheiros.
Para isso pode usar o seguinte scritp php que deverá editar para receber os seus backups num servidor de FTP remoto:

<?php

// PHP script que faz backups do cPanel automaticamente para um servidor de ftp remoto.
// Este script contem passwords.  MANTENHA O FICHEIRO EM SEGURANÇA! (coloque-o na home dir, não na /www/)

// ********* OS SEGUINTES CAMPOS NECESSITAM DE CONFIGURAÇÃO *********

// INFO PARA ACESSO AO CPANEL
$cpuser = “username”; // Username usado para o cPanel
$cppass = “password”; // Password usado para o cPanel
$domain = “examplo.com”; // Domaio usado no cPanel
$skin = “x3”; // Defina qual o theme do cPanel usado no cPanel. Pergunte ao seu serviço de alojamento caso não saiba qual usa.

// INFO PARA ACESSO AO FTP REMOTO
$ftpuser = “ftpusername”; // Username da conta FTP
$ftppass = “ftppassword”; // Password da conta FTP
$ftphost = “ftp.examplo.com”; // Hostname ou endereço ou ip do servidor de FTP
$ftpmode = “ftp”; // FTP mode (“ftp” se activado, “passiveftp” para modo passivo)

// EMAIL PARA NOTIFICAÇÃO
$notifyemail = “you@example.com”; // Endereço de email para envio do resultado do backup

// MODO SEGURO OU INSEGURO
$secure = 0; // Defina 1 para SSL (requer suporte SSL), ou use o padrão HTTP

// Defina 1 para ter os resultados na pagina de logs do CronJob
$debug = 0;

// *********** NÃO ALTERAR APÓS ESTA LINHA *********

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

$socket = fsockopen($url,$port);
if (!$socket) { echo “Failed to open socket connection… Bailing out!\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”;

// Make POST to 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”);

// Grab response even if we don’t do anything with it.
while (!feof($socket)) {
$response = fgets($socket,4096);
if ($debug) echo $response;
}

fclose($socket);

?>

Deverá guardar o código acima num ficheiro com a extensão .php ex: fullbackup.php

Após isto deverá criar uma cron job com o seguinte conteúdo:


15 5 * * 1 /usr/local/bin/php /home/youraccount/fullbackup.php

Corre todos os Domingos as 5 e 15H, recomendamos que mantenha esta hora para não causar conflitos no servidor.
Onde diz youraccount colocar o seu nome de utilizador.

Cumprimentos,

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

Este site utiliza o Akismet para reduzir spam. Fica a saber como são processados os dados dos comentários.