Results 1 to 15 of 15

Thread: Update to the cPanel backup script (from Justin Cook or Max Hedroom) - if it can help

  1. #1
    Registered User
    Join Date
    Dec 2006
    Location
    Québec, Canada, Germany & India
    Posts
    1

    Default Update to the cPanel backup script (from Justin Cook or Max Hedroom) - if it can help

    Hi,

    After a cPanel update, the well-known cPanel backup script (from Justin Cook or Max Hedroom - one source: Automatic cPanel backup (domain & MySQL) with cron & PHP ) I used for a number of years was no longer working.


    Since a recent cPanel upgrade (we are now using cPanel v11.25.0), the cPanel Full Backup requires all parameters to be provided, so cPanel was giving gives that error when running the script:

    Sorry, all fields are required when using FTP or scp.
    (Need to enable debug mode to see that output.)
    Previously, the cPanel Full Backup didn't required the port or the remote directory, so the script did not bother providing any.

    A very simple tweak to the script will provide the port and remote directory fields.
    I am posting it here in case it might help others using this script whom were facing the same issue.

    I added these 2 lines of code:

    Code:
    $ftpport = "21"; // Port (default = 21)
    $rdir = "/"; // Remote dir (defaut = / )
    and changed the parameters line to include that:
    Code:
    $params = "dest=$ftpmode&email=$notifyemail&server=$ftphost&user=$ftpuser&pass=$ftppass&port=$ftpport&rdir=$rdir&submit=Generate Backup";

    For conveniance, the full (updated) script is now:
    Code:
    <?php
    
    // PHP script to allow periodic cPanel backups automatically, optionally to a remote FTP server.
    // This script contains passwords. KEEP ACCESS TO THIS FILE SECURE! (place it in your home dir, not /www/)
    
    // ********* THE FOLLOWING ITEMS NEED TO BE CONFIGURED *********
    
    // Info required for cPanel access
    $cpuser = "username"; // Username used to login to CPanel
    $cppass = "password"; // Password used to login to CPanel
    $domain = "example.com"; // Domain name where CPanel is run
    $skin = "x"; // Set to cPanel skin you use (script won't work if it doesn't match). Most people run the default x theme
    
    // Info required for FTP host
    $ftpuser = "ftpusername"; // Username for FTP account
    $ftppass = "ftppassword"; // Password for FTP account
    $ftphost = "ftp.example.com"; // Full hostname or IP address for FTP host
    $ftpmode = "ftp"; // FTP mode ("ftp" for active, "passiveftp" for passive)
    $ftpport = "21"; // Port (default = 21)
    $rdir = "/"; // Remote dir (defaut = / )
    
    // Notification information
    $notifyemail = "you@example.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&port=$ftpport&rdir=$rdir&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);
    
    ?>

    I hope this can help.

    -Ben

  2. #2
    Registered User
    Join Date
    Nov 2009
    Posts
    1

    Thumbs up Thanks!

    I was wondering why my backup scripts were no longer working. Thanks for tracking it down and posting this fix! They work great now.

  3. #3
    Registered User
    Join Date
    Jul 2006
    Posts
    2

    Default Thanks

    Thanks for your help, this is great. I didn't realize my backups stopped working last month, and now they're good to go.

  4. #4
    Registered User
    Join Date
    Apr 2010
    Posts
    3

    Default

    This script no longer works for me. I noticed that my web host now has /cpessxxxxxxxxxx in the url. I looked this up it is security feature called security tokens. Is there a way to make the script work with this enabled?

  5. #5
    Registered Member
    Join Date
    Feb 2009
    Posts
    33

    Default

    Hello

    For backup purpose, you can go with cpSync which is free. Your host must install it on the server for you to use it.

    You can backup your accounts on a daily basis

    Free trial available.

  6. #6
    Registered User
    Join Date
    Apr 2010
    Posts
    3

    Default

    Quote Originally Posted by SunShellNET View Post
    Hello

    For backup purpose, you can go with cpSync which is free. Your host must install it on the server for you to use it.

    You can backup your accounts on a daily basis

    Free trial available.
    I already have storage to send the backups too. I don't want to have to pay. I was hoping someone else had resolved this issue with the script.

  7. #7
    Registered User
    Join Date
    May 2010
    Posts
    1

    Default

    Have you been able to solve the issue? Please share!

    Thanks,
    J

    Quote Originally Posted by SirVancelot View Post
    I already have storage to send the backups too. I don't want to have to pay. I was hoping someone else had resolved this issue with the script.

  8. #8
    Registered User
    Join Date
    Apr 2010
    Posts
    3

    Default

    Nope. I have been manually backing it up until someone comes up with a solution.

  9. #9
    Registered Member This forum account has been confirmed by cPanel staff to represent a vendor. syslint's Avatar
    Join Date
    Oct 2006
    Posts
    148

    Default

    Here I have a solution , but it is not free of cost . check it here cPremote

  10. #10
    Registered Member
    Join Date
    Apr 2004
    Posts
    14

    Default Re: Update to the cPanel backup script (from Justin Cook or Max Hedroom) - if it can

    This problem has reared its ugly again for me. I too was caught by surprise a year or so ago with the CPanel backup change requiring ftpport and rdir. I corrected this and have been merrily backing up files ever since. Three weeks ago, my script started failing again with "Can't call method "login" on an undefined value at /usr/local/cpanel/bin/ftpput line 28" which was what I was getting after the CPanel update that started requiring these 2 new arguments. My current CPanel version is 11.28.87. I contacted my webhoster and they don't know why it's failing. Has something new been recently released in CPanel that would cause this?
    Rob Nelli

  11. #11
    Registered User
    Join Date
    Jun 2011
    Posts
    1

    Default Re: Update to the cPanel backup script (from Justin Cook or Max Hedroom) - if it can

    I finally got this working for me by determining that my default skin changed to x3 instead of x.

  12. #12
    Registered Member
    Join Date
    Jul 2008
    Posts
    21

    Default Re: Update to the cPanel backup script (from Justin Cook or Max Hedroom) - if it can

    Is there any way to limit number of backups?/

  13. #13
    Registered User
    Join Date
    Oct 2012
    Posts
    1
    cPanel Access Level

    Reseller Owner

    Default Re: Update to the cPanel backup script (from Justin Cook or Max Hedroom) -

    Hello There!

    I am trying your script but there is an error which is "HTTP/1.1 301 Moved Server: cpsrvd/11.32.5.11 Connection: close Content-length: 290 Location: /cpsess3742996087/frontend/x/backup/dofullbackup.html?"


    Kindly help for this.

    Thanks in advance.

    Sachin

  14. #14
    Registered Member
    Join Date
    May 2008
    Location
    Islamabad, Pakistan, Pakistan
    Posts
    73
    cPanel Access Level

    Root Administrator

    Default Re: Update to the cPanel backup script (from Justin Cook or Max Hedroom) -

    Quote Originally Posted by sahcin View Post
    Hello There!

    I am trying your script but there is an error which is "HTTP/1.1 301 Moved Server: cpsrvd/11.32.5.11 Connection: close Content-length: 290 Location: /cpsess3742996087/frontend/x/backup/dofullbackup.html?"

    At one time we installed it on 5 different servers but its just useless. Dont waste your time on it.

  15. #15
    Registered Member fearmydesign's Avatar
    Join Date
    Aug 2009
    Posts
    94

    Default Re: Update to the cPanel backup script (from Justin Cook or Max Hedroom) -

    Quote Originally Posted by hostnex View Post
    At one time we installed it on 5 different servers but its just useless. Dont waste your time on it.
    So are you saying the script listed at the top no longer works? I really this script because my host does not offer daily backups, so I want to set up my own! Please advice. Thanks!

Similar Threads

  1. Replies: 2
    Last Post: 04-07-2010, 03:44 PM
  2. Replies: 0
    Last Post: 01-22-2010, 04:53 PM
  3. Domain Exceeded Max Emails Per Hour via Script only
    By acenetryan in forum E-mail Discussions
    Replies: 29
    Last Post: 11-12-2008, 07:20 AM
  4. WHM accounting script - max accounts?
    By axishost in forum General Discussion
    Replies: 3
    Last Post: 11-16-2005, 11:30 PM
  5. cPanel Configure Backup Max Account Filesize
    By demomen in forum General Discussion
    Replies: 0
    Last Post: 06-07-2005, 09:57 AM

Tags for this Thread

bargain