So, this is a rather odd request of a backup solution, but it’s kinda what I want right now.
I’m still relatively new to Linux and self-hosting in general
A few years ago, my cousin and I were hosting our own Minecraft server. It had a mod that would create backups of the world folder. It zipped it up, named it “yyyy-mm-dd.zip” and placed it in a backups folder somewhere on the server.
The most important feature that I want is actually the next part. It would allow us to specify how many backups we wanted to keep, and also how frequent we wanted the backup to run.
We set it to backup daily, and keep 14 days of backups. After that, it would delete the oldest one, and make a new backup.
I would like to replicate that functionality! Specify the frequency, but ALSO how many backups to keep.
Idk if it’s asking too much. I’ve tried doing some research, but I’m not sure where to start.
Ideally I’d like something I can host on docker. Maybe connect to a Google account or something so it can be off-site.
I only want to use it for docker config files, compose files, container folders, etc.
I’ve looked into restic, but it seems it encrypts the backups, and you NEED a working copy of restic to restore? I’d like something simple like a .zip file instead or something, to be able to just download, unzip, and spin up the compose file and stuff.
Sorry for the wall of text, thanks in advance if you have any suggestions!
P.S. I’m pretty sure the upload to Google or some other service would have to be a separate program, so I’m looking into that as well.
Update: I want to thank everyone for your wonderful suggestions. As of right now, I have settled on a docker container of Duplicati, backed up to my Mega.nz account. Last I checked they lowered the storage limit, but I was lucky to snag an account when they were offing 50GB free when you joined, so it’s working out well so far. I did have to abandon my original idea, and decided to look for something with deduplication (now that I know what it is!) And encryption.
Sounds like a job for logrotate. It does more than just log files, kinda average name I guess. Checkout this server fault q&a for more details. https://serverfault.com/questions/196843/logrotate-rotating-non-log-files
I’ll have to look more into this, because I think I misunderstood, but it seems that it is ½ of the backup solution right? It won’t actually MAKE the backups, but it’ll allow me to “rotate” and only keep the last “x” files?
Yep that’s the one. If you can make a cron job to make the zip file, logrotate could handle keeping the last x files.
It might sound complicated, but the cool thing about *nix environments is that everything is made up of a combo of little tools. You can learn one at a time and slowly build something super complicated over time. First thing would be figuring out the right set of commands to make a zip file from the directory I reckon. Then add that to cron so it happens every day. Then add logrotate into the mix and have that do its thing every day after the backup runs.
So I think I’ll try Duplicati for docker next, and if that fails, then I’ll try scripting and cronjobs.
I’m so happy with all the support, thank you! :)