Sawtaytoes
Patron
- Joined
- Jul 9, 2022
- Messages
- 221
I've going through many backup solutions over time and still haven't settled on a good one for Windows machines. I'd like it to be turn-key:
I'd prefer to have TrueNAS be the host that chooses what to backup and when. That way, if I reformat or add another machine, there's a single place to go for backups, data storage, cloud backups, etc.
Another benefit is that TrueNAS emails me about issues. My Robocopy script doesn't do that. It's simpler to let TrueNAS tell me "hey, this backup failed; you should check it now!".
Two-Way Sync
A big reason I want two-way sync is for family photos and videos. If my wife or I take some pictures on our phones, it'd be great if we could copy those to the NAS automatically and delete them from our phones after we've moved them from the NAS's sync folder to the FamilyPictures/ folder.
Right now, I manually take her phone, copy the files to my desktop, and give her phone back. This usually happens after there are hundreds of gigs of photos and videos. If something happens to her device in that timeframe, they're all gone.
It's not just phones though. Two-way sync would be valuable for my desktop machines as well. I take video and screenshots all the time. I'd like to have those synced such that when I move them out of the sync folder to a permanent NAS location, they're removed from that machine's C: drive.
Other Technologies I've Used
BackupPC
In the past, I used BackupPC. Don't remember much about it, but I was on Gentoo or Ubuntu-Server at the time. It was quite a while ago. I have ZFS snapshots now, so I don't need something like BackupPC which was both slow and difficult to manage when I needed access to my files.
DeltaCopy Server
I later used DeltaCopy Server and would copy in newer EXEs and DLLs from the Cygwin portable ZIP. A benefit of DeltaCopy Server is it registers a Windows service for you and even provides a Windows 95 GUI for configuring shares with passwords.
This was a pain to keep up and the install didn't scale:
If I copied cwRsync's updated EXEs and DLLs into DeltaCopy, I could use the server and have TrueNAS maintain the backups with its native Rsync integration. This is a possible option, but it's still high-maintenance.
Robocopy
For the last 5-6 years, I've been using Robocopy. It's already part of Windows and is super fast even over SMB. I can't even explain how amazing it is to use and how similar it feels to rsync.
Issues:
After reinstalling TrueNAS, I decided I wanted something better than Robocopy.
Nextcloud
I set this up before reinstalling and upgrading TrueNAS to test it out. It's way too big. I just want file backups, not calendar, email, etc.
Nextcloud might be a great pice of software, but it's super complex for my needs. If this is a good solution for me, why?
Syncthing & Resilio-Sync
I tried both Syncthing and Resilio-Sync. While Resilio-Sync was much easier to setup in Windows, both of them sucked for various reasons:
TrueNAS Cloud Backup
I'd use TrueNAS's Cloud Backup, but the rclone version in TrueNAS isn't new enough to have SMB. If it did, then I could simply have it SYNC, COPY, or MOVE from TrueNAS. If I could upgrade rclone in TrueNAS, this would be a pretty slick, but weird, solution.
- Install app.
- Configure shares.
- Forget it exists.
- Check it if something's broken.
- TrueNAS chooses when and what to backup.
- Two-way sync capabilities, but I don't need it for every file.
I'd prefer to have TrueNAS be the host that chooses what to backup and when. That way, if I reformat or add another machine, there's a single place to go for backups, data storage, cloud backups, etc.
Another benefit is that TrueNAS emails me about issues. My Robocopy script doesn't do that. It's simpler to let TrueNAS tell me "hey, this backup failed; you should check it now!".
Two-Way Sync
A big reason I want two-way sync is for family photos and videos. If my wife or I take some pictures on our phones, it'd be great if we could copy those to the NAS automatically and delete them from our phones after we've moved them from the NAS's sync folder to the FamilyPictures/ folder.
Right now, I manually take her phone, copy the files to my desktop, and give her phone back. This usually happens after there are hundreds of gigs of photos and videos. If something happens to her device in that timeframe, they're all gone.
It's not just phones though. Two-way sync would be valuable for my desktop machines as well. I take video and screenshots all the time. I'd like to have those synced such that when I move them out of the sync folder to a permanent NAS location, they're removed from that machine's C: drive.
Other Technologies I've Used
BackupPC
In the past, I used BackupPC. Don't remember much about it, but I was on Gentoo or Ubuntu-Server at the time. It was quite a while ago. I have ZFS snapshots now, so I don't need something like BackupPC which was both slow and difficult to manage when I needed access to my files.
DeltaCopy Server
I later used DeltaCopy Server and would copy in newer EXEs and DLLs from the Cygwin portable ZIP. A benefit of DeltaCopy Server is it registers a Windows service for you and even provides a Windows 95 GUI for configuring shares with passwords.
This was a pain to keep up and the install didn't scale:
- I had to manually update EXEs and DLLs on every machine I installed because the default EXEs and DLLs are all from 2008.
- I had to manually add the port to the Windows firewall each time I put it on a machine; the app didn't do it for me.
- I'm not certain about rsyncd security.
If I copied cwRsync's updated EXEs and DLLs into DeltaCopy, I could use the server and have TrueNAS maintain the backups with its native Rsync integration. This is a possible option, but it's still high-maintenance.
Robocopy
For the last 5-6 years, I've been using Robocopy. It's already part of Windows and is super fast even over SMB. I can't even explain how amazing it is to use and how similar it feels to rsync.
Issues:
- This is client-to-server rather than server-requesting-client. Each Windows machine needs to be configured manually on that machine.
- I have to write a CMD script on each machine that gets backed up and keep that up-to-date from the machine itself.
- If something goes wrong, there's no notification. My backups could stop tomorrow, and I'd never know.
- I have to manually configure the Windows Task Scheduler. It used to pop up a command line window but thankfully didn't the last time I set this up.
- All of my backed-up files from each system have to be setup as Windows shares on TrueNAS.
After reinstalling TrueNAS, I decided I wanted something better than Robocopy.
Nextcloud
I set this up before reinstalling and upgrading TrueNAS to test it out. It's way too big. I just want file backups, not calendar, email, etc.
Nextcloud might be a great pice of software, but it's super complex for my needs. If this is a good solution for me, why?
Syncthing & Resilio-Sync
I tried both Syncthing and Resilio-Sync. While Resilio-Sync was much easier to setup in Windows, both of them sucked for various reasons:
- Both of them used a tremendous amount of system resources in Windows.
- They both locked when backing up large numbers of files.
- Large syncs (quantity of files) were ridiculously slow. So slow that it'd kill the App or Jail in TrueNAS even if I was doing a one-way sync (read-only backup in Resilio-Sync).
- They'd add hidden sync folders in every directory. I know why they do this, but I don't like it.
- No way to exclude files and folders from syncs, so I couldn't backup `C:\Users` with Resilio-Sync because it included Resilio-Sync data. I don't want to manage which files can and cannot be backed up from `C:\Users`.
TrueNAS Cloud Backup
I'd use TrueNAS's Cloud Backup, but the rclone version in TrueNAS isn't new enough to have SMB. If it did, then I could simply have it SYNC, COPY, or MOVE from TrueNAS. If I could upgrade rclone in TrueNAS, this would be a pretty slick, but weird, solution.
Last edited: