doni49 Posted October 4, 2006 Share Posted October 4, 2006 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. Quote Link to comment https://forums.phpfreaks.com/topic/23000-backup-my-web-site-cpanel/ Share on other sites More sharing options...
R_P Posted October 5, 2006 Share Posted October 5, 2006 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. Quote Link to comment https://forums.phpfreaks.com/topic/23000-backup-my-web-site-cpanel/#findComment-104113 Share on other sites More sharing options...
doni49 Posted October 6, 2006 Author Share Posted October 6, 2006 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 = "[email protected]"; // 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 cPanelfputs($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] Quote Link to comment https://forums.phpfreaks.com/topic/23000-backup-my-web-site-cpanel/#findComment-104758 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.