Sauvegarder CPANEL (CRON)

#1
Bonjour a tous,

Vous voudriez faire une sauvegarde de votre hébergement toutes les semaines?

J'ai trouvé la solution avec un script PHP placer dans la racine de votre ftp!

Il vous permettra donc de créer des backup via le CRON!

Code:
<?php

// Permet de créer des backup sur le Cpanel de Planethoster
// Permissions doivent être a 600 
// A placer en dehors du html_puiblic ou www
// Crontab: 0 0 * * * php -q /home/USERNAME/cpanel_backup.php   -> Une fois par semaine !

// ********* Configuration *********

// Information du CPANEL
$cputilisateur = ""; // Nom d'utilisateur du CPanel
$cpmotdepass = ""; // Mot de passe de CPanel
$domaine = "xxxx.planethoster.net"; // Le serveur Planethoster (remplacer xxxx)
$skin = "x3"; // le thème utilisé

// Information sur la sauvegarde
$ftpmode = "homedir"; // FTP mode ("ftp" for active, "passiveftp" for passive)

// Notification information
$emailnotification = "[email protected]"; // Email de notification

// Sécurisé ou non avec httpS
$securise = 1; // mettre a 1 pour SSL , sinon utilise http

// permet de vérifier si le script fonctionne bien.
$test = 0;

// *********** Ne pas toucher!! *********

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

$socket = fsockopen($url,$port);
if (!$socket) { echo "Impossible d'ouvrir le socket ... \n"; exit; }

// Encode le mot de passe et utilisateur (Sauvegarde)
$authstr = $cputilisateur.":".$cpmotdepass;
$pass = base64_encode($authstr);

$params = "dest=$ftpmode&email=$emailnotification&server=&user=&pass=&port=&rdir=&submit=Generate Backup";

// Envoie un "POST" au cpanel
fputs($socket,"POST /frontend/".$skin."/backup/dofullbackup.html?".$params." HTTP/1.0\r\n");
fputs($socket,"Host: $domaine\r\n");
fputs($socket,"Authorization: Basic $pass\r\n");
fputs($socket,"Connection: Close\r\n");
fputs($socket,"\r\n");

// Recois la réponce
while (!feof($socket)) {
  $response = fgets($socket,4096);
  if ($test) echo $response;
}

$socket = fsockopen($url,$port);
if (!$socket) { echo "Impossible d'ouvrir le socket ... \n"; exit; }

// Encode le mot de passe et utilisateur (Anti-Virus)
$authstr = $cputilisateur.":".$cpmotdepass;
$pass = base64_encode($authstr);
fputs($socket,"GET /frontend/".$skin."/clamavconnector/scanner.html?scanpath=home HTTP/1.0\r\n");
fputs($socket,"Host: $domaine\r\n");
fputs($socket,"Authorization: Basic $pass\r\n");
fputs($socket,"Connection: Close\r\n");
fputs($socket,"\r\n");

// Recois la réponce
while (!feof($socket)) {
  $response = fgets($socket,4096);
  if ($test) echo $response;
}

fclose($socket);

// Supprime les vielle sauvegarde (7 jours)
foreach (glob("*.tar.gz") as $filename) {
    if ((time() - filemtime($filename) >= 604000)) 
     unlink("$filename");
}
?>
 
Haut