How many Backups and Frequency
Normally you should have a daily backup, if possible this should be copied to a remote location in case of a server catastrophic failure. Do not rely on a single backup, if you have an error it is likely the last backup may not be valid so follow a regime something like this;
- Daily backup --- keep for seven days
- Weekly Backup --- keep two as at Sunday (or whatever day)
- Monthly Backup --- keep two as at the beginning of each month
This may seem excessive but it allows you to roll back safely past any major problem, at the very least keep three days of rolling backups plus one at an important check point.
As an alternate strategy you can keep a full backup and then keep daily database backups until you change site files then re-download a full backup and again take daily backups of your databases.
- Local (Server)
These are useful if it is not a hardware problem, but a disk or serious problem with the server will mean these backups are generally not available
- Remote (Like AWS S3)
If done daily a remote backup, especially to another providor (ie web server KnownHost, backup AWS S3) is a real business necessity
Also a useful strategy so long as it is done, as it is mainly manually performed
A number of web hosting companies take site backups for you. The availability and frequency depends on them, so although useful in a pinch you should not use these as the basis for your own safety.
Things to remember
- Developer pre-backup
Whenever you have someone working on your site make sure that you have a full backup
before performing upgrades whether to aMember, WordPress etc do a full backup as well
Always make sure that any site customisations have been copied somewhere safe, a simple ftp download of these items can save you an enormous amount of time if they are accidentally lost/deleted during other site work.
- Code Customisations
- Set email to something like google apps So if the server is down email still works.
- Set DNS on AWS Route 53 so that you can quickly redirect your web site to another server, also for the email option above