-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add backup functionality #11
Comments
Things like backups are tricky to do well because they're generally very site-specific. It's hard to offer a one-size-fits-all script. I would definitely like to offer some general solutions as opt-in "contrib" features. That would go along with packaged hook includes (#8). For example, ---
minecraft_enable_backups: true
minecraft_backup_method: s3
minecraft_backup_s3_container: s3://backups/minecraft You can set a default, server-specific value for for Question: does the FTB backup utility do anything special? Or can you back up FTB by saving the server and copying the server directory as well? |
The FTB Backup utility doesn't do any magic that we couldn't do with standard linux tools. The backup utility only does a couple things:
I use cron to automate this |
That's sufficiently specific enough that I wouldn't want to script it.
N.B. server commands like this will only work under systemd. Under systemd we attach a named pipe to standard input, so you can write to that file instead of using screen. There might be a Bash |
I agree with this statement. It's a bit outside the scope of this issue but this is related to a different issue I've been having with the feature matrix. Currently we have tests for Ubuntu 14.04 using Supervisor, however our tests do not seem to work for any docker version above If we deprecate Supervisor, I would expect to deprecate support for Ubuntu 14.04 as well. This isn't a huge issue yet but if/when Travis updates their environment it will escalate in importance. Also, considering Supervisor is only really necessary for Ubuntu 14.04 support it could cut down on the complexity of our role to stick with a single process control. |
Should we move the discussion for deprecating Supervisor support to its own issue?
We don't necessarily need to script that process though, right? Regardless of the backup method, we could use cron, which would end up calling a one liner specific to the backup method:
Actions like storing the archives on s3 seem like something that would be handled by another role. |
That's what I mean: let FTB's tools do it.
I somewhat agree, because everyone has their own way of doing backups. That's is why I suggest making that functionality opt-in. Although we could simply say "here's how to create an archive using this role, it's up to you to move it elsewhere."
|
The problem with supporting backup is the many, many ways to do backup. If you want a pretty generalized mechanism, you could use duplicity to S3, or you could use simply ask the user to pass the name of a script to be invoked to do backup. Many servers handle backup with plugins within Minecraft itself... |
Dan has implemented backups using a mixture of shell, cron, and rsync (see minecraft-backup.j2) while Matteo is using the built in FDB update utility for the modded servers (see cron definition). Both methods seem appropriate for their respective server type, so I think we should implement both. My first thought is to break these two processes into different plays
backup-ftb.yml
andbackup-cron.yml
and then run them based on a backup variable:Example defaults/main.yml
Example tasks/main.yml
This seems like it would scale nicely as various server types are added. Not sure if there are obvious issues I'm missing though.
The text was updated successfully, but these errors were encountered: