“My provider already has them,” “It’s not that important, anyway,” “backup tools are (too hard|too expensive|too complicated|not possible in my environment).”
“Everyone wants restore, no-one wants backup.” AdminZen, Part 6, Backups, point 1.
Too many times recently I’ve seen excuses like the above for not having backups, followed shortly by long tirades about how it’s someone else’s fault that their data is lost.
Somewhere I saw someone say it well: If it’s not important enough for you to put your own backup system in place, it’s not important enough for you to complain about it being gone when it’s gone.
I work for a service provider and we take regular backups of our systems, our customer facing systems. Systems our customers pay to be hosted on. Not too long ago we found out the hard way that we had a corrupted backup when the system failed and took all the data with it. We were able to restore the system from a very dated backup, but it had been nearly 2 months since the last successful backup, that’s all we were able to restore. Some of our customers were diligently taking their own backups, however, so they were able to get back up with other providers before we brought our system back up, or they were able to restore their accounts with us at that time, since we brought back very old data.
You’re a careless provider, it’s your fault we have no data! Actually, it’s not. Our terms of service are not at all unique in the hosting community, and they show that while we may have backups, there are limits to what we are obligated to provide. They also recommend that you take your own backups independently.
Now, I don’t work for Bluehost, this is used as a generic example (section 17):
For its own operational efficiencies and purposes, Bluehost from time to time backs up data on its servers, but is under no obligation or duty to Subscriber to do so under these Terms. IT IS SOLELY SUBSCRIBER’S DUTY AND RESPONSIBILITY TO BACKUP SUBSCRIBER’S FILES AND DATA ON BLUEHOST SERVERS, AND under no circumstance will Bluehost be liable to anyone FOR DAMAGES OF ANY KIND under any legal theory for loss of Subscriber FILES AND/or data on any Bluehost server. Bluehost will not attempt to back up accounts that exceed 50,000 files or 30 Gigs of space for any reason.
To confirm this as generic, here is InMotion Hosting’s section (see “Data Backup”; I don’t work for them either):
InMotion Hosting maintains, as a convenience to its clients, regular automated data backups on accounts equal to or less than 10 gigabytes in total size. This service is included only with Business Class or Virtual Private Server hosting accounts and is provided at no additional charge. Hosting accounts greater than 10 gigabytes in size will not be included in regular data backups; this service is, however, available for an additional service charge for accounts exceeding the 10 gigabyte size limit.
While InMotion Hosting maintains the previously stated backups, this service is provided as a convenience only and InMotion Hosting assumes no liability as to the availability or completeness of client data backups. Each client is expected and encouraged to maintain backup copies of their own data. InMotion Hosting will provide, upon request, one (1) data restore per four (4) calendar months free of charge. Additional data restores may be provided but are subject to additional service fees.
Note how there are limits on account size for backup, and a specific note is included that there is no liability on the part of the service provider to take a backup for you.
So how do I do backup? There are a number of tools depending on what you are doing.
For Dedicated Servers or VPSs, a simple rsync or rsnapshot is often sufficient. If you have more than one, and your usage on each is well below 50%, consider backing them up to each other. If not, creating a ZIP or Tar file of your data and regularly downloading it is often sufficient. Remember, the purpose of the backup is to ensure that if your provider fails or entirely loses your system, you can find a new provider and get back online as soon as possible.
For Shared Hosting users, most of you will have access to cPanel or a similar control panel, which provides an option to generate and download an account backup. Most providers will also frown upon keeping account backups on the server, so make sure you download and then delete it. A cPanel backup would be preferred, however, as it is in the perfect format to upload to another provider and restore your content if you need to move.
If the panel doesn’t have the option, or the provider has locked the option out for some reason, you should still have FTP access. This will let you download your files anywhere with an FTP client. Now, that won’t include any MySQL or other databases, you’ll need a solution for that as well.
For very small backups, something I’ve done in the past is to have a scheduled task (usually crontab task or cronjob on my Linux systems) which dumps the database, packages it up with the files, and sends it via email to one of my GMail addresses. Then there is a filter which immediately deletes the email. It seems odd, but GMail will keep emails in the trash for 30 days by default. Therefore, this setup creates a rolling 30 day backup! Keep in mind, it only works if the email size is less than 10MB, any larger and Google will reject the message at receipt.