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 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.
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.
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
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 VPN Virtual Private Network VPS Virtual Private Server (opposed to shared hosting)
3 acronyms in this thread; the most compressed thread commented on today has 6 acronyms.
[Thread #137 for this comm, first seen 17th Oct 2026, 15:00] [FAQ] [Full list] [Contact] [Source code]
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 have daily backups, weekly, monthly and yearly. All but yearly is deleted after a certain time, but yearly I keep forever.
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.
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.

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 use bormatic, I can go back about 60 days and have needed to a few times in the past due to my own mistakes. Server is in the basement, it backs up toy living room TV pc which is on the top floor. My upload speed is too slow for offsite backups.
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.
Let me put it this way: I have a removable harddisk with my files from the universities’ VAX 11/780 in storage. Long enough?





