Right now I’m creating a nightly restic snapshot of my server on borgbase and on some spare drives, and keeping the snapshots forever. There’s a ton of daily churn in my data though, between databases and logs and other files that don’t constitute ‘real data’ but might be needed to restore the app.
Backups?
The useful split isn’t by time, it’s by data class — your “churn that isn’t real data” observation is the key:
Separate repositories for real data vs. app state. Databases, logs, container images, caches in one repo with aggressive expiry; documents, photos, configs in another with long retention. Then “how long” becomes easy per class instead of one uncomfortable compromise.
For the churn class, a sane baseline with restic:
restic forget --prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --keep-yearly 2Reasoning: most restores are “it broke today/yesterday” — dailies cover those. Weekly+monthly exist for “the corruption was already there and I didn’t notice” (ransomware, a bad deploy 5 weeks ago, silently-degraded RAID). Yearly is only worth it for truly irreplaceable data.
Two things worth checking on the borgbase side:
- Prune actually runs —
restic forgetwithout--prune(orborg prunevsborg deletesemantics) marks snapshots but never frees repo space. Plenty of people run forget for years and wonder why the repo is full. - Restore tests, not just snapshots — quarterly, restore into a scratch VM. A backup that’s never been restored is a hypothesis.
“Keep forever” mostly comes from cheap snapshot storage, but with churn-heavy data old daily snapshots are exactly where dedup saves you the least — the churn is your storage cost there.
- Prune actually runs —
Backups kept “forever” is the most common over-provisioning mistake, and the fix isn’t a single number — it’s a retention tier structure. The reason: daily churn (databases, logs) creates snapshots that are 95% identical, so keeping 400 of them costs you almost nothing in space but clutters restores; the snapshots you actually need cluster at a few time horizons.
A structure that works well with restic (via the
forgetpolicy, so it’s declarative in one place):--keep-daily 7— last week’s daily points. Covers “oops, I deleted the wrong thing yesterday.”--keep-weekly 5— a month of weekly points. Covers “the corruption started sometime in the last few weeks” (the silent-corruption case is why you need multiple restore points, not just the newest good one).--keep-monthly 12— a year of monthlies. Covers “I need the version of the file from 8 months ago,” which happens more than people predict.--keep-yearly 2— cheap insurance for the truly weird requests.
Practical notes:
- Add
--group-by host,pathsif one restic repo backs multiple machines/tags, or forget will prune across hosts in ways that surprise you. - Run
restic forget --dry-runfirst, always. Look at what it would delete before letting prune loose. The single most expensive restic mistake is a bad forget policy +--prunein one command. - Separate “churn” data from “real” data with tags or separate repos. Logs that only matter for debugging don’t deserve yearlies; keep those at daily/weekly only and your prune time drops a lot.
- Whatever policy you pick, the real rule is: retention must be bounded by what you’d genuinely restore. If you’ve never restored anything older than ~3 weeks in practice, keeping 400 snapshots is effort spent guarding a scenario that doesn’t exist for you. Pick the tiers, prune once, and stop thinking about it.
- One more: verify with
restic check --read-data-subset=x%on a schedule. A retained snapshot you’ve never verified is a hope, not a backup.
As of now, i keep them basically for ever, but granularity gets less over time. (restic forget)
Before you go nuts about files you want to exculde the “churn” as you said it, go ahead and actually check how much space this actually takes up. Text and especially logs are highly compressible and will most likely end up taking up almost no space.
Be sure you backup everything you actually need, rather backup a file more then a file too less.
Comparing daily snapshots I see 100mb+ daily churn (I assume restic diff is pre compression), the borgbase repository space usage chart shows it increasing about 50mb daily.
I use nightly backups. I keep them 2 weeks.
After that I keep a weekly backup for 2 months.
After that I keep a monthly backup for 2 years.
I keep my yearly backups forever.
I have daily backups, weekly, monthly and yearly. All but yearly is deleted after a certain time, but yearly I keep forever.
Daily for 10 days, 4 weekly, 4 monthly.
That covers me from broken updates, generally.
came to say something like this but not sure why you would do daily for 10 days. Your doing weeklys so why not 7. I would rather increase the monthly to 7 or do 6 bi monthly and keep a yearly.
Your doing weeklys so why not 7
They are all daily backups, those schedules I pointed out are for pruning. And I don’t understand the question… How would keeping 7 instead of 10 dailies help me?
because your last weekly would be a max of 7 days out
How am I going to restore day 8, day 9, or day 10 backups if I only keep 7 days?
I learned I pretty much never need old data for my hobby selfhosting stuff. So I do 4 weeks. I’ll notice if something breaks within 4 weeks and fix it. I occasionally do manual backups, for example when migrating stuff and keep them for longer. And I got some old stuff like in xkcd 1360.
I suppose I could do more, but I also want the privacy policy of my online services to say: x weeks and all the logs and unnecessary data is gone.
My VPS gets a weekly rsync to my home server. I keep ten deduplicated copies for weeks gone by. The current week also gets synced off-site with encryption.
7 backups, though the frequency they’re taken (daily Vs weekly Vs monthly) depends on the service.
Why don’t you exclude logs from your backups? databases sure yes that’s where the real info is (not sure why you don’t consider it real data) but logs are useless outside of the current running instance.
I didn’t really want to poke through each containers files to figure out where it stores logs, plus it adds risk that I’m not backing up something I should.
When I say databases aren’t real data, I’m more talking about them changing every day despite nothing happening. Even if I haven’t taken any photos or opened the app, today’s db dump of immich is not the same as yesterday’s db dump so restic stores it as a new unique file.
I did mean to ask, why restic into Borg instead of just Borg?
on the logs thing that’s fair enough, most of the stuff I use has a clear “logs” folder I can exclude, and I checked what the backup contains Vs what the container data folder has before calling it a day
I’m not doing any sort of backup conversion. Borgbase is a website that focuses on hosting borg backups, but they also natively support restic. I chose restic out of convenience for my local backups because it came preinstalled on truenas and figured it made sense to use the same for my cloud backups.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters NVMe Non-Volatile Memory Express interface for mass storage RAID Redundant Array of Independent Disks for mass storage VPN Virtual Private Network VPS Virtual Private Server (opposed to shared hosting)
4 acronyms in this thread; the most compressed thread commented on today has 8 acronyms.
[Thread #137 for this comm, first seen 17th Oct 2026, 15:00] [FAQ] [Full list] [Contact] [Source code]

I just buy new HDDs.
Unironically how I use LTO-6 tapes.
2.5TB of storage for ~$5/tape on ebay.
Never delete anything. If the authorities ever come after me, discovery is going to be hilarious.
What’s the catch, why don’t we use those? I/O speed? Limited read/write cycles? I imagine it sucks if you need files on opposite ends of the tape.
The drives are crazy expensive if you want to use a somewhat recent generation.
My local backup drives still have room (it’s my main pool with all bluray backups that’s begging for more space), but borgbase is approaching the point where I’ll have to bump to a higher tier or pay per gb. Looking at my usage chart every day adds at a minimum 50mb so something has to change.
[forget] keep-daily = 10 keep-weekly = 4Daily backups are cheap because of de-duplication. I keep a few weekly backups in case it takes me a bit to notice something went wrong. I don’t usually back up logs.
I could probably drop the weekly backups without much risk, but I’ve got the space.
I was backing up multiple places on my LAN but than half of my place flooded, so lamenat and carpet was ripped up, one of my pi 5’s was misplaced with a NVMe drive and another was lost. Than just down the street 3 house went up in flames had the wind been blowing just a little south my condo complex would have been burnt to the ground. After the fire fighters were telling us to get back further and further I had my main pi 5 that had all the backups of everything important on another NVMe drive and a few other things ready to go if the firefighters started banging on my door telling me it was time to leave. I wish I could honestly say that was the day I decided to get a VPS and start my back up, but I was still hoping my father would let me set up a pi with a drive big enough to do back ups at his place. It sounds like he will but he is concerned about security risks about my VPN, funny thing is my back up pi would be the most secure thing hooked up to his modem/router and I wouldn’t want his stuff touching my stuff and with how my LAN and VPN are set up they would have a hard time doing it. Anywho I have a domain hosted by EasyDNS, and just went and looked at their VPS options and got some year long plan and set up cron jobs to take the stuff I want to backup and use age to encrypt it and than it is sent to my VPS each age container is than deleted after there is something of the same name but 3 days iterations older and deletes it.
Is using a VPS cost effective compared to uploading to object storage?
I use rclone to sync backups to Backblaze object storage. I find it hard to believe a VPS would be cheaper, considering the disk space on those can be very expensive compared to object storage.
If it was just for backup backblaze is probably less expensive but my LAN consists mostly of pi’s and hand me down computers. I am slowly moving things around on my LAN so to each their own I guess. I like the idea of having more control over my stuff so having a whole Debian system on the other end feels right for me.
*edit: It also gives me peace of mind knowing that I can encrypt my stuff to my liking. Silly me I forgot to actually look at the encryption tool I used, I just did a search and found age was highly suggested. It is coded in Go, sure it is open source and all that I am just not a fan of the language.
Ah yeah makes sense if it’s not just for storing an offsite copy of backups like mine is.
How long do you keep your backups?
Yes, I have that exernal HDD lying around somewhere near the PC, and it was at least 4 or 5 times that I backed up a lot of files on it.
I think I keep it for more than 10 years now.






