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.

cPanel Full Backup Script

Discussion in 'General Discussion' started by ZapZap, Nov 16, 2006.

  1. ZapZap

    ZapZap Registered

    Joined:
    Nov 16, 2006
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    1
    I found the following full backup script and it does everything I need it to do except one thing.
    I need the script to allow me to configure a file path on the FTP server so that the backup file is not copied to the root of the FTP server.

    Could someone have a look at the script please and make the alteration for me? I'm no programmer. :)

    PHP:
    <?php

    // PHP script to allow periodic cPanel backups automatically.
    // Based on script posted by max.hedroom in cpanel.net forums
    //   This script contains passwords.  KEEP ACCESS TO THIS FILE SECURE!

    // ********* THE FOLLOWING ITEMS NEED TO BE CONFIGURED *********

    // Info required for cPanel access
    $cpuser ""// Username used to login to CPanel
    $cppass ""// Password used to login to CPanel
    $domain ""// Domain name where CPanel is run
    $skin "x"// Set to cPanel skin you use (script won't work if it doesn't match)

    // Info required for FTP host
    $ftpuser ""// Username for FTP account
    $ftppass ""// Password for FTP account
    $ftphost ""// Full hostname or IP address for FTP host
    $ftpmode "ftp"// FTP mode ("ftp" for active, "passiveftp" for passive)

    // Notification information
    $notifyemail "you@yoursite.com"// Email address to send results

    // Secure or non-secure mode
    $secure 0// 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);

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

    ?> 
    Thanks in advance!
     
  2. velda

    velda Well-Known Member

    Joined:
    Aug 24, 2005
    Messages:
    54
    Likes Received:
    0
    Trophy Points:
    6
    Location:
    Utah
    I'm no programmer either...

    but you could accomplish this easily enough by setting up an FTP account that automatically logs into a different directory.

    You could also try specifying the directory... yourdomain.com/backups/ but I don't know whether it'd work with this script. Hoping that helps,

    Velda
     
  3. brianoz

    brianoz Well-Known Member

    Joined:
    Mar 13, 2004
    Messages:
    1,146
    Likes Received:
    6
    Trophy Points:
    38
    Location:
    Melbourne, Australia
    cPanel Access Level:
    Root Administrator
    If you add the parameter rdir=/dirname to the params string you'll be able to specify the destination directory for ftp. Or you can create a special ftp user as someone suggested.

    You can find out this by going to the fullbackup page in the cpanel interface, and looking at the fields the form submits.
     
  4. wmiles

    wmiles Member

    Joined:
    Sep 6, 2005
    Messages:
    21
    Likes Received:
    0
    Trophy Points:
    1
    Does this work with Cpanel 11?

    i've always used the script but for some reason its just stopped working
     
  5. workshop

    workshop Member

    Joined:
    Sep 21, 2004
    Messages:
    8
    Likes Received:
    0
    Trophy Points:
    1
    I have the same question - when using this script now with cpanel 11 it seems to work - but the tarball is empty.

    If I do a manual full backup it is fine.

    Anybody come across this - or got any suggestions?

    This script definitely did work!

    Thanks.
     
  6. workshop

    workshop Member

    Joined:
    Sep 21, 2004
    Messages:
    8
    Likes Received:
    0
    Trophy Points:
    1
    Ignore my last post - the script IS working - I just wasn't looking in the right places!

    Assumed as the tarball left in the root of my home directory was empty that it had failed.

    But - checked my remote ftp server and had loads of backup files - from all my tests!!!

    So long story short - this script does work with cPanel 11 and X3 theme. Well at least it does for me!
     
Loading...

Share This Page