Using WHM Backup / Restore
Introduction
If you have a VPS, Dedicated Server or similar package which allows you access to the WHM control panel you have the ability to create backups automatically each day and keep them for defined periods (ie Daily, Weekly & Monthly) the online CPanel documentation has an in depth explanation of setting up your backup system search google "whm cpanel backup" for restore information try "whm cpanel restore".
Please note that we have not used links as the documentation is changed often, using search will present you with more useful information.
Disk Usage
One issue to be watchful of is how much disk space the backups use on your server, unless you have a dedicated server the backups could quite easily exhaust your disk space and cause your web site(s) to crash. By default WHM/CPanel uses the directory /backup to store the system backups. If you have a dedicated machine try and have an additional spinning disk installed which should be quite inexpensive, have hosting providor mount this as /backup so that the backup system is insulated from your other system files.
This also means that in the event of a disk failure you may be able to restore from the separate backup disk.
Local Storage
In the example above of using a second disk you are not protected against your machine failing or other incidents where your data is totally lost, most hosting companies make backups periodically for you but you should not rely on these for your critical data.
Remote Backups
If your web server is critical to your business you should perform your own remote backups, simple ftp and other options are available which can be quite inexpensive, the article Using WHM Backup/Restore with AWS S3 steps you through using S3 which should allow you to keep the backups as required.