Bit late to the party but given the importance of backups, I figured I'd chime in.
It's absolutely crucial to retain a backup of your data, particularly one that gets disconnected. Connected media still leaves the door open for access to that backed up data, thereby making it a potential target for infections, etc. The simple act of disconnecting the backup media in question helps secure that backed up data far, far better. It's a necessary step, in my opinion.
On that note, the act of plugging in a device and running a backup is something that can be forgotten. Outdated backups serve less of a purpose. It still puts the control in the hands of the user -- control that must be thought about and acted upon. This can be good and bad. The bad is of course that it can be forgotten. The good is that some users like that control and want that control. The act of pushing a button confirms the "yes, I want to back up -- right now" action. Some dig it, some want a more hands-off approach.
I like making my computer work 'for' me. I want it to run automatic backups. I'm a busy guy. The last thing I want to worry about is whether or not my data is backing up. As a result, I automate as much as possible. FreeFileSync is a very nice open source file sync application. It works on Mac, Linux, and Windows. My in-laws, who run Windows 10, quite like this. I put a very low powered system in their basement connected to their network and set up a samba (network) share. This allows FreeFileSync to see it on the network and effectively synchronize their data to it. You can take this task, a 'job' if you will, and have it export to a single file. Double click it, the job runs. There's your control. Set it up as a scheduled task in Windows, there's your automation. Same end result, but a different approach between manual vs automatic.
In the case of my systems at home, along with my wife's laptop, we run Linux based systems (Ubuntu). I wrote an rsync script which will rsync the home directory to my home server. If I launch it manually, it runs and does its thing, providing notifications when it starts, when it's done, and if an error occurred. I set the script up with a 60 second delay to start, and then tagged the script as a startup item. That means each time the user logs in, the script launches, but waits 60 seconds, then executes. This gives time for wifi to connect since our systems have solid state drives, and as a result, start up + log in wicked fast, often faster than the wifi has a chance to connect. (60 seconds is mega overkill but I use it as a flat standard approach for nothing more than consistency)
I also have an external hard drive that I store in my desk at work. I live close to work, so once a week I make it a point to go home for lunch with the external drive in hand. This drive houses the important data on my server. While home, I let a backup run (normally only takes 2-3 minutes for incremental changes to update), and then it's ready to drop back in my desk at work. House burns down, yeah that'd be terrible, but I'd still have the baby pictures of my daughters, pictures from my wedding, etc etc.
Cloud storage is a popular option, though there's always the question of how much trust and data integrity is there. I mean, can you as an absolute fact confirm that Google Drive, iCloud, Dropbox, etc. will be there when you need them? Cloud storage providers have had their issues in the past. Nothing is perfect. The only way I can personally guarantee (keyword there) that my data is synchronized and safe is when it's in my own hands. I can plug in my external 'backup' drive to my computer. I can see the data. I can see it's up to date. I can see it in my desk drawer. I can see the key that locks that desk drawer. But I have no control over the data center storing my data in the cloud whatsoever. What's *their* backup plan? What's their disaster recovery methods? What are they going to do to ensure my data is secured, safe, and will survive a fire in one of their data centers or someone tripping over a cable in the server closet? It's worth noting the Dropbox ToS outlines they are not responsible for lost data, namely "IN NO EVENT WILL DROPBOX, ITS AFFILIATES, SUPPLIERS OR DISTRIBUTORS BE LIABLE FOR: (B) ANY LOSS OF USE, DATA, BUSINESS, OR PROFITS, REGARDLESS OF LEGAL THEORY." -- updated less than a month ago at the time of this post. Depending on the amount of data you have, this may also sway you one way or another. Backing up 3TB of data, as I have, would come at a decent annual cost. My home file server has paid itself off several times over again throughout the 4-5 years I've used it based on this premise alone.
That said, perhaps I just have a tinfoil hat on in regard to cloud data. After all, you're looking at a Nextcloud user (I host my own cloud server for my + my family's use within my own house). But hey, it's something to think about, as in Dropbox's case (and I'm sure others) they take a very hands-off approach to responsibility.
Important takeaways:
1) The more locations your data resides, the better, as each serves as a "backup" to your computer in some capacity.
2) Cloud storage is convenient, but do you trust it? If you do, great, but it's something to think about.
3) A home server file server is a great always-on way to back up your data at home. Coupled with an off-site backup, i.e. such as my external drive idea or even cloud storage, creates a better safety net.
Home file servers aren't all that daunting. If you want to spin your own, OpenMediaVault is a great Linux based approach, as you install the system from a CD or USB flash drive on any computer and configure it from a web interface -- much like you'd configure a preboxed Synology, QNAP, Netgear "home NAS" product. You can even use a regular command line driven server distribution if you're comfortable with setting up config files for samba, users, etc (many guides online for this). These two options are done by utilizing a computer of some sort. Could be an old computer sitting around, one you purchase specifically for this task, or one you custom build. At the same token, there's the preboxed solutions I mentioned, which involve you purchasing "the box" and whatever hard drives you want, plugging them in, and setting up the shares/users/etc through the web interface. Many routers also come with a USB port, which allow you to plug in an external hard drive and share it via the router's web interface. If you have a modern router with USB support, this may be the cheapest networked idea.
Whichever way you approach it, ask yourself -- if I was having a bad day and I took a hammer to your laptop, while that would upset you, you CAN replace your laptop. You cannot replace your data. What's your plan? Do you have a backup? Yes? Great! At that point, ask yourself -- I'm having a *REALLY* bad day and I just burnt down your house. What's your plan at that point to get those baby pictures of your kids back? Backup solutions aren't always cheap, but it's an insurance plan for your data that is *always* wise to invest in.
Food for thought.
