23

April

Zipit Backup for Cloud Sites

Author: John

I am very happy to say that the Zipit Backup Utility is now available!! It took a lot of work to get things approved but the effort is well worth it if it helps just one Cloud Sites customer.

It is now hosted on github so we can track issues and updates more efficiently. I will be posting more about the github process soon.

For those interested you can get the Zipit Backup Utility at ZipitBackup.com

 

If you use the tool described in this article, you agree that the tool is an “Unsupported Service”. Rackspace makes no representation or warranty whatsoever regarding any Unsupported Service, and you agree that Rackspace will not be liable to you for any loss or damage arising from the provision of the Unsupported Service.  The Service Level Guaranties will not apply to the Unsupported Service, or any other aspect of your services that are adversely affected by the Unsupported Service.  You acknowledge that Unsupported Services may not interoperate with Rackspace’s other services or other third party services you use. 

 

I have left the original post content below for historical purposes.

One of the complaints from Cloud Sites customers is that they are not able to easily zip up their sites. The method provided in Cloud Sites requires that a cron job is created which for some is either annoying or daunting.

After posting the article Working with the Cloud Sites Load Balancer I decided to take that concept to the next logical step and build a simple interface that allows customers to backup their sites and manage those backups without the need for a cron job.

Installation:

1. Edit the zipit-config.php file with your Cloud Sites username and API Key.
2. Edit the zipit-config.php file with your Zipit Backup username and password.
3. Upload zipit directory with all contents to content folder.
4. Open YOURDOMAIN.com/zipit in your browser.

Features:

1. Easily backup files and databases with no cron job needed.
2. Password Protected
3. Download backed up files and databases.
4. Automatically detects WordPress install for easy database backup.
5. Runs on IIS or Linux Cloud Site. (Only works with mysql databases)
6. Automatically backups all backups to Cloud Files.

If you have been using Cloud Sites for a while you have probably run into issues with load balancer timeouts. This happens because Cloud Sites has a 30 second limit on any process running in your browser. Anything that takes longer than 30 seconds will cause a timeout. The process will continue for up to 15 minutes in the background, however the site will display an error.

There is a way to work around this and allow your process to no only continue for the full 15 minutes but also keep the page alive without errors.

Let’s say you want to zip up your content folder and you know it is going to take longer than 30 seconds. You can use this to keep the process running and the page displaying in your browser.

<?php
$cmd = “zip -9prv content_backup.zip .”;
$pipe = popen($cmd, ‘r’);

if (empty($pipe)) {
throw new Exception(“Unable to open pipe for command ‘$cmd'”);
}

stream_set_blocking($pipe, false);
echo “\n”;

while (!feof($pipe)) {
fread($pipe, 1024);
sleep(1);
echo “.”;
flush();
}

echo “\n”;
echo “Complete”;
pclose($pipe);
?>

This code will allow you to run a command for up to 15 minutes without issue. It will print a “.” to the screen every second until the process is complete. Just save the code as backup.php and put it in your content folder. Then open the page in your browser.