I see it time and time again, like here:
Networking? where a site owner puts sweat and tears into building a community and then seeing it hacked. And it's not just that. A hosting provider could go bankrupt, an upset administrator could mass delete content. Name it, all sorts of things.
So why not build a nice resource for those who need help backing up.
Because with a good backup setup one could just take a backup, go to a new host, restore the backup and continue the site - all within hours.
Step 1: Always back your site up. This includes files and the database. And documentation with details of accounts and what not. We can use this thread to give our hints and tips, scripts and resources, to provide the best approach to how to backup, how to restore, and other best practices.
Step 2: Own what is yours. Be in control of the domain name and the hosting account. If you can host with say namecheap and change the IN A records, regardless which provider you use. You can switch provider within the hour, hardly any downtime. And if you are in control of your hosting account you can make proper backups and restore them as needed. Without running into inconvenient hosting account limits.
Step 3: Double check everything. Making a backup of a corrupt database, will not help, if you do not have a rollover solution. Running a daily script is nice, but you have to check if the results actually work. Do a test restore on another hosting account to find potential issues.
Step 4: Ask for help where needed. Don't be shy. Contact your hosting provider, your tech-friends, the forum support team, etc, for help. Post in this thread, or this forum if you have questions. The best way to avoid mistakes is to learn and understand the changes you're making to your sites.
Share your ideas, tips, code, resources, and backup approaches, solutions, etc. Let's help eachother out.