Jump to content

Backup my Web Site? CPanel


doni49

Recommended Posts

Hello all,

I have a web hosting account with CPanel access on a Linux/Apache server.  My server has PHP 5.x (not sure of the exact version at the moment--but if's imporatant, I'll go get it for you).

I'd like to write a PHP script that will backup everything on my server as a windows zip file and transfer it via FTP to an off site location.  I want to backup my databases, email forwarders (I don't have any pop accounts set up), email auto-responders, etc--ALL settings/data/files.

Can someone point me in the right direction?  Either to an existing script that will help me get started or at least help me figure out how to make sure I get the right files.  I've read articles on writing zip files and I've seen articles on FTP transfer.  But I'm unsure what files I should back up--if I need to restore settings, can I just overwrite the old files?

Thanks.
Link to comment
Share on other sites

If you have an idea on the Zip file creation and FTP functions, then the rest shouldn't be to hard. All you would have to find now is a good directory recursing script (a script that will go file by file, folder by folder) - which also shouldn't be too hard. On the other hand, I'm not so sure about email forwarders and autoresponders (are those saved as files even?)

Don't most versions of Cpanel have backup utilities that do exactly what your looking for? If not, could you write a script that would instead compliment (finishing the job - ie FTP'ing) the existing utility. Just a thought.
Link to comment
Share on other sites

CPanel DOES have a way to backup the entire site--but it's not automated.  I was looking for some way to automate it because although my host DOES do backups, they're not as frequent as I'd like.

I found the following script to activate CPanel's backup.  I now have a cron job set up that activates it for me.  So I expect to be able to take care of the FTP without a problem.

[code]
<?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"; // Username used to login to CPanel
$cppass = "password"; // Password used to login to CPanel
$domain = "example.com"; // Domain name where CPanel is run
$skin = "monsoon"; // Set to cPanel skin you use (script won't work if it doesn't match)


// 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)


// 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&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);


?>
[/code]
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.