I'd use restic or duplicacy if you need something that works well both on Linux and Windows.
Duplicati's advantage is that it has a nice web UI but if the core features don't work.. that's not very useful.
I'd use restic or duplicacy if you need something that works well both on Linux and Windows.
Duplicati's advantage is that it has a nice web UI but if the core features don't work.. that's not very useful.
Instead, I'd recommend Arq backup.
With compression landing in the most recent Reseic release, I'll probably switch back to that for my servers. Though I'm still keeping Kopia for my clients where I like a GUI once in a while.
I switched to restic and recomned it over Duplicati.
I've had to use it to restore multiple times, and have never had an issue with it. It's saved my ass multiple times. It's always been a set it and forget it until I remember I need it.
I did not like and could not trust duplicati to finish backups or restore from them.
I use Urbackup to back up Windows and Linux hosts to a server on my home network and then use Borg to back that up for DR. I'm currently in the process of testing Restic now that it has compression and may switch Borg out for that.
I've been using borg for a while (successfully, with Vorta as UI on mac) and curious to learn if there is something I've been missing that restic provides.
Borg has issues properly maintaining the size of its local cache and that results in RIDICULOUS amounts of ram being consumed at runtime unless I manually clear the cache out periodically. It also brings in some python package for something FUSE related that constantly vomits a warning to the console on each run on Ubuntu.
I'm still not 100% sold on migrating to Restic. It seems to not suffer the same cache or FUSE problem (since it isn't Python) so far but the overall archive sizes seem to be a bit larger than Borg and I have to pay for every byte of storage I consume.
We just added support for Restic too. Using Nginx with HTTP/2. Fastest combination I've seen so far. So very excited to offer two great options now.
Granted, the backup itself errors out on in-use files (and just proceeds to the next file), but show me a backup program that doesn’t. Open file handles make backing up rather hard for anything that needs to obey the underlying operating system.
I'm using it to backup a Firefox profile while I'm using Firefox. It backed up active files as they are being written too! I'm also using it to backup a Veracrypt container file (single 24GB file), and incremental backups worked quite well too.
Thanks for the words of advice, I will keep testing longer before I make the switch.
I've looked around quite a bit too but did you actually use restic and duplicacy?
They've eaten my RAM quite heavily, it caused the machine to freeze up by exhausting the RAM on not that huge data sets and I've stopped using them a year or so ago.
I've come to the conclusion to use Borg and zfs as backup solutions (better to run multiple reliable independent implementations), latter being quite fast by knowing what got changed on each incremental backups as a file system itself unlike any other utilities that need to scan the entire datasets to figure out what got changed since last run.
You can run a 1GB memory instance and plug HDD (far cheaper) based block storage (such as on Vultr or AWS) for cheap zfs remote target. Ubuntu gets zfs running easily by simply installing zfsutils-linux package.
If you need large space, rsync.net gives you zfs target with $0.015/GB but with 4TB minimum commitment. Also good target for Borg at same price but with 100GB minimum yearly commitment. Hetzner storage box and BorgBase seem good for that too.
That's one thing I can't seem to quite figure out with those solutions. I know there are scripts out there (or I could try my own), but that seems error-prone and could result in failed backups.
I expect an email every day. If I don't receive one, I know there's a problem with email delivery.
restic [...] && curl <heartbeat-url>
and you'll get eventually notified if backup jobs fails too often.Restic is also confusing to me with forgetting snapshots and doing cleanup, I don't understand why that isn't run as part of the backup (or is it? The docs aren't clear).
You don't always want to forget/prune snapshots. Especially if you're using a cloud service like B2. It can easily cost you more to prune than actual storage costs if you're not careful.
See here: https://www.seanh.cc/2022/04/03/restic/#maintaining-your-bac...
and
https://kdecherf.com/blog/2018/12/28/restic-and-backblaze-b2...
On Linux I used cron + email. You can setup postfix such that you use your personal gmail or whatever, then you will be able to do "echo message" | mail -s youremail.com to send an email. They (big email providers) always allow you to send an email as yourself to yourself.
On Windows, I used the native task scheduler (with various triggers like time, lock workstation, idle and so on) and send an email using powershell, which can also send emails using SMTP.
I started with duplicacy and moved to restic.
Encryption is properly implemented.
On Linux, storing the backup repository on a CIFS (SMB) share is not recommended due to compatibility issues.
There seems to be some deeper system level problem with go concurrency:
And SFTP is SFTP, regardless of the OS.