Benvenuti nelle FAQ.
Domande e risposte
per gestire il Vs servizio
www.

«
»


Backup automatico e cron

Inserito il Jun 30, 2009 Condividi

Come sapete, il pannello CPANEL mette a disposizione la possibilità di creare dei backup da scaricare sul pc, da inserire all’interno dell’ftp dell’account o da inserire in ftp esterni.

La funzionalità di backup lato cpanel, è però manuale, nel senso che quando voglio un backup dovrò entrare nel cpanel e cliccare le opzioni BACKUP.

Grazie a vari post trovati in rete (uno link è questo), siamo a indicare come eseguire un backup in automatico (full backup) tramite cron.

creare un file es: backup.php

che inserirete all’interno della root dell’account, e non dentro public_html (MAI INSERIRLO DOVE VI SONO I FILES ACCESSIBILI VIA WEB), con il seguente contenuto (vi sono diverse zone da personalizzare, soprattutto la zona SKIN. Alcuni hanno cpanel thema X, altri vskin, altri rvskin, etc.. Fare attezione a questa zona. Il thema lopotete visualizzare entrando nel Vs backup.

<?php
// Info required for cPanel access
$cpuser = “……….”; // Username used to login to CPanel
$cppass = “……”; // Password used to login to CPanel
$domain = “DOMINIO.xx”; // Domain name where CPanel is run
$skin = “rvskin”; //NB: SKIN!!! Set to cPanel skin you use (script won’t work if it doesn’t match).
//Most people run the default x theme, other rvskin, rvblight…..

// Info required for FTP host
$ftpuser = “username….”; // Username for FTP account
$ftppass = “password….”; // Password for FTP account
$ftphost = “host…..”; // Full hostname or IP address for FTP host
$ftpmode = “ftp”; // FTP mode (“ftp” for active, “passiveftp” for passive)

// Notification information
$notifyemail = “you@email….”; // Email address to send results

// Secure or non-secure mode
$secure = 1; // Set to 1 for SSL (requires SSL support), otherwise will use standard HTTP

// Set to 1 to have web page result appear in your cron log
$debug = 0;

// *********** NO CONFIGURATION ITEMS BELOW THIS LINE *********

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);

// deve essere su un unica riga
$params = “dest=$ftpmode&email=$notifyemail&server=$ftphost&
user=$ftpuser&pass=$ftppass&submit=Generate Backup”;

// Make POST to cPanel  la stringa fputs deve essere sempre sulla stessa riga.
//Attenzione se và a capo
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);

?>

 

A questo punto creare un crondel tipo:

“quando eseguire il backup” /usr/local/bin/php /home/youraccount/fullbackup.php

esempio
00 5 *** /usr/local/bin/php /home/youraccount/fullbackup.php

NB: essendo uno script di terze parti, non ufficiale CPANEL, CPanel Inc e noi, non possiamo garantire il funzionamento e non possiamo assumerci nessuna responsabilità.

Inserisci Commento/Domanda/Risposta

Commento