The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Backup

Discussion in 'cPanel Developers' started by david77, Nov 18, 2009.

  1. david77

    david77 Registered

    Joined:
    Nov 18, 2009
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    Location:
    Paris
    Hello !

    For beginning I'm sorry for my english I'm french...

    I want to use a backup script found on internet with WHMCS.

    Datas are selected in WHMCS data base, folder are created on FTP but no files...

    This is the code

    PHP:
    <?
    // Info pour le ftp distant avant d'y mettre les backups
    $ftpuser ""// Utilisateur du ftp
    $ftppass ""// Password de l'utilisateur
    $ftphost ""// hostname du ftp
    $ftpmode "passiveftp";
    $ftpport "21";

    $notifyemail ""// Adresse email de notification de backup complet

    $jour  mktime(000date("m"), date("d"), date("Y")); //ajustement de la date par rapport au serveur
    $date date("d-m-Y",$jour);
    $date ''.$date.'';

    //************************************CREATION DOSSIER DE SAUVEGARDE******************************************
    $ftp ftp_connect("$ftphost"); // On prépare la connexion
    ftp_login($ftp,"$ftpuser","$ftppass"); // On se connecte au serveur
    @ftp_mkdir ($ftp,"$date"); // Création du dossier. (chemin depuis la racine du serveur)
    ftp_quit ($ftp); // On se déconnecte du serveur
    //************************************FIN CREATION DOSSIER DE SAUVEGARDE****************************************                  


    $silent 'true';
    include 
    '../dbconnect.php';  // initialisation variables connexion base de donnée
    include '../includes/functions.php';  // initialisation variables des functions whmcs

    $comptage 0;

          
    $query "SELECT * FROM tblhosting where domainstatus='Active' AND server !='' ORDER BY domain";  // selection des comtpes status ACTIVE
          
    $result mysql_query ($query);
          while(
    $data mysql_fetch_array ($result)){

            
    $password decrypt ($data['password'], $encryption_key); // decryptage du mot de pass cpanel client

              // Info client du cpanel ( récupérer de la base de donnée hebgest )
                                      
    $cpuser $data['username']; // client
                                      
    $cppass $password;  // mot de passe
                                      
    $domain $data['domain'];// nom de domaine
                                      
    $skin "x3"// toujours laisser le theme par défaut sinon sa plante ( rajouter l'option dans hebegest serait pas con )

    $dossier ''.$date.'/'.$domain.'/';    
    $domain2 $domain;
    //************************************CREATION DOSSIER DE SAUVEGARDE******************************************
    $ftp ftp_connect("$ftphost"); // On prépare la connexion
    ftp_login($ftp,"$ftpuser","$ftppass"); // On se connecte au serveur
    ftp_mkdir ($ftp,"$dossier"); // Création du dossier. (chemin depuis la racine du serveur)
    ftp_quit ($ftp); // On se déconnecte du serveur
    //************************************FIN CREATION DOSSIER DE SAUVEGARDE****************************************


    $ftpdir $dossier// Directory to save the files in

                              // Mode Ssl
                                       
    $secure 2// 1 oui 2 non vaut mieux oui

                             // Debug pour le cron job mettre 1 pour conserver une trace sinon 2
                                       
    $debug 2;
                 
    // fin initialisation varibles pour le full backup

    // fin recupération des infos utilisateur pour le backup nom de domaine, nom d'utilisateur

    // connexion ssl activé
                 
    if ($secure == '1') {
                 
    $url "ssl://".$domain;
                 
    $port 2083;
                 
    // sinon connexion non sécurisé
                 
    } else {
                 
    $url $domain;
                 
    $port 2082;
                 }

    // ouverture du socket
                 
    $socket fsockopen($url,$port);
                 if (!
    $socket) { echo "Failed to open socket connection… Bailing out!\n"; exit; }

    // re encodage de l'anthentification
                   
    $authstr $cpuser.":".$cppass;
                   
    $pass base64_encode($authstr);
                   
    $params "dest=$ftpmode&email=$notifyemail&server=$ftphost&user=$ftpuser&pass=$ftppass&port=$ftpport&rdir=$ftpdir&submit=Generate Backup";               

    // On pass les commandes post au 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");

    // Recupération des réponse venant du cpanel ( mettre $debug sur 1 c mieux )
                    
    while (!feof($socket)) {
                      
    $response fgets($socket,4096);
                      if (
    $debug == '1')
                      { 
                      echo 
    $response;
                      }
                                           }
                      
    fclose($socket);
                      
                      
    $comptage $comptage +1;
                      
    echo 
    ''.$comptage.'. Sauvegarde du compte: '.$domain2.'    dans le dossier:'.$dossier.'';                      
           }
    ?>
    Someone can help me?

    Thank you very much
     
    #1 david77, Nov 18, 2009
    Last edited: Nov 18, 2009
  2. jrianto

    jrianto Active Member

    Joined:
    Jun 9, 2008
    Messages:
    44
    Likes Received:
    0
    Trophy Points:
    6
  3. david77

    david77 Registered

    Joined:
    Nov 18, 2009
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    Location:
    Paris
    Thank you very much
     
Loading...

Share This Page