Sauvegarder CPANEL (CRON)

Discussion dans 'Tutoriels' démarrée par AsTr0, Jui 13, 2010.

  1. AsTr0

    AsTr0 Member

    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 = "backup@monsite.tld"; // 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");
    }
    ?>
    
    
     

Partager cette page