Hi selfhosting community! At the moment I have my services set up with nix. They store their data on a btrfs subvolume which I can easily snapshot.
For backup I configured btrbk to send the snapshots to a target pc. However I feel uneasy not knowing if the backups succeeded or not. Right now I would need to check manually on the target machine every so often.
How are you guys handling this problem? Custom scripts for btrfs send/receive? Is there a function in btrbk I overlooked where I can verify the state and get notified of problems?
I was looking into ntfy-sh, which looks optimal, but how can I know if the send/receive was successful?
I use the “||” operator in bash scripts to send a curl command to ntfy if the backup fails. But the healthchecks option is a little bit more robust since you wouldn’t get a notification if your system crashed and ntfy dies too. I believe you can also do this with Uptime Kuma if you want to go self-hosted on a remote server.
I’m not familiar with btrbk specifically, but my backups all send a ping to https://healthchecks.io/ when they start and when they finish. healthchecks.io works by getting a simple curl request, similar to ntfy, but if that request doesn’t happen after a certain amount of time (or if you do a start request and a succeed/fail request and the job is taking too long) then it will notify you. It can use ntfy for notifications, but it can also send emails or use any of a number other services.
Hmm, good question. I don’t have a setup for that either, but I don’t think there is a built in function for that.
Your best bet is probably to find some tool that notifies you if new files get created in a directory, as AFAIK new snapshots are only created if they were successfully transferred.
ok i’m not saying do this
i recently setup an API proxy, C&C server, Grafana and Prometheus, and Discord bot. now i can send pings via Grafana or with a simple request (provided it’s authed via VPN or proxy) and have my Discord bot use a local LLM on my network to deliver the alert to a Discord channel in the voice of Ultron.


