If you are clear on the need to have an offsite backup of your VPS or dedicated server, let’s see how you can achieve this for free.
The simplest option is to connect to your server daily via FTP or SecureFTP, just like you do when you upload new files to your website. To have a backup of your VPS server files, you can simply create a folder on your local computer and copy all server files there. To save your data records, you can connect to the server using SSH (for Linux server) or Terminal Services (for Windows servers) and create a database backup (from MySQL, MS SQL or Oracle, depending which of the popular database engines your website is using). To complete the backup, you have to download this database backup locally to your computer and keep it together with the server files you already copied there.
In the event of a disaster, you can use this collection of files to restore both the server/website files and the database records. But keeping on top of things takes a lot of time each day, and restoring your server to a previous state requires a lot of tinkering with file permission rights and database restore procedures.
Another option is to have rsync (a popular Unix/Linux application) installed and configured for you. Rsync is very smart - it can keep a local folder synchronized with one hosted on a remote one (running an rsync service itself) and it is capable to transferring remotely only the files that changed, which saves a lot of bandwidth. Rsync setups can be very professional and done properly are a reliable solution. Yet, in order to deploy rsync you need a secondary server and some experience configuring *nix services, testing and maintaining complex scripts and overall is a whole specialty job in itself. Unless you are a Linux guru or you hired the sysadmin I mentioned above, this solution can be really expensive to implement and maintain for a simple VPS server running an online store.
Another option you might consider is using a free vps backup account - this service gives 5GB of storage space for free with a friendly web interface to manage it and a special backup client application to install on your server. It works on Linux, Windows, Mac and even Novell or commercial Unix distributions, and it can backup files (even open files), databases (MySQL, MS SQL, Oracle etc), collaboration applications (MS Exchange, MS Sharepoint, Lotus Notes) and even the infamous Windows System State required to restore Windows Server or Client OS. As long as you have access to the web and your server, installation and configuration can be done even with basic level of expertise in managing servers and configuring backup. First you need to create an account; then you can log to the web interface and define your backup sets (files, databases etc); and last, you follow the instructions and install the client application on your VPS server, than configure it using the same account credentials as you created initially for the web interface. The web settings allow you to specify what folders and databases you want backed up, how often, how to want data encrypted etc. In the event of a hardware failure or hacker attack, you can restore the files using the client application either to the same server or a different one. And if you need the same files on your local computer, you can even restore them locally from the web interface. And you get all these features for free while using up to 5GB of storage space (your compressed backups, over one or multiple days, total less than 5GB) or alternatively you can opt to buy a premium plan to benefit from up to 500GB of disk quota on the backup server.
These are the main options to backup your VPS server for free that I know of - please comment and let me know if you have others to share. You can also use DigitalOcean Coupons to save $10 on VPS server.