MineBackup
MineBackup - Automatically save and backup your server!
Features
- Numerous backup actions: Save (default); Copy and/or Compress. The copy action creates a copy of files in backup folder while the compress action creates a zip of files in backup folder. You do not need to enable both for compress to work.
- Numerous upload actions: Dropbox; FTP. These actions will upload the latest compressed version, so you will need to be using compression.
- Maintenance action: Cleanup. With this action enabled, old backups will only be deleted as scheduled (otherwise they will be deleted after a copy/compress action).
- Each action has a configurable interval. You can even set a specific time that an action should trigger (only once per day). Every action supports either method.
- You can either enable actions globally (default for all worlds) or enable/disable actions for specific worlds. Specific worlds can even have different time intervals for each action!
- Global or per world configurable amount of backups to be kept on disc. So a world that is rarely used can be compressed every few hours and set to have less copies retained.
- Global or per world configurable broadcast of backup status.
- Setting to enable an immediate backup on server restart/reload with configurable delay. With this disabled (default), scheduled actions will occur at their proper time, but if the server was stopped during that time, then it will run as soon as possible.
- Backup actions are staggered to try to prevent low-powered servers from getting overloaded. Instead of checking every world at one time and in order, a queue is checked once a minute to see if it needs to do a backup action.
- If no one has used the world since the last backup ("not dirty") then its actions are skipped.
- Able to backup plugins/other directories with a list of excluded paths (like dynmap's /tiles) and file types.
- Customizable messages. Everything sent to players is able to be translated or changed. Including broadcast groups.
- Configuration migration with a backup copy of the original configuration.
Caution
Does your server have a single-core processor or a low amount of memory (512mb and several plugins)?
Do NOT enable compression! Only enable copy.
Does your server operate over a typical home internet connection?
Do NOT enable dropbox or ftp!
Failure to understand this will almost certainly result in all of your players being disconnected.
Notes
[v0.5+] Due to changes to the old backup deletion code, the plugin will not automatically delete any v0.4 backups. You will need to manually delete them at an appropriate time.
[v5.9.2+] If you still have the old map format (world height 128) files in your world folders, it's going to yell at you on server startup. Once you have a backup of the world, delete level.dat_mcr and the *.mcr files in the region folder. They aren't needed after the conversion and double the size/time of the backup.
[v5.9.3+] Enable 'debug' in config.yml for a detailed list of the settings that are being used as each world/plugins is loaded. (Exact times are seconds from midnight, but stored as a negative number.)
Setup & Usage
Only save is enabled by default. You need to enable either 'copy' or 'compress'.
Download
MineBackup.jar (for auto-updaters)
Source
Default Config (created first start)
Default Strings (created first start)
Dropbox Linker (Google App Engine)
Credits
ThisIsAreku for the original MineBackup. This plugin has now been completely re-imagined and rewritten. The only thing untouched and unchanged is the name itself.
I've got everything done that I added to my list.
I'd appreciate feedback on the documentation and features list. temp link < just comment here
I'll upload it as soon as I'm happy with the testing and I don't see any bugs. Unless someone wants to be a guinea pig :)
@ltguide
I mean a save-all and not a backup! !!!! but phrases are needed to :P
regards
@silencshadow Next version :0 It's almost done. Had to customize Dropbox's SDK to work the way I want it.
Hey Guy, i would realy realy realy love u if u implement a "World Save" config. So after a x time the world get saved with a configurable message "World gets saved." "World save done." ...!! Plz guy, this would make this awsme and no other world save is up2date ... right now :( ill take hope un u :)
regards.
@Chromana Next version (as documented in ticket) :0
In other news, I've gotten a Dropbox web-app approved. It'll let you give MineBackup permission to write to a folder in your Dropbox. You hit go, login/approve, then you paste a command that you are given into the console. So now I just need to add a thread to keep track of files that need to be uploaded so the backup queue isn't held up by bandwidth. And figure out if I can throttle said bandwidth usage.
FEATURE REQUEST: https://github.com/ltguide/MineBackup/issues/6
Basically, be able to exclude certain directories and sub-directories from being backed up. This is so that the massive folder containing the Dynmap images won't be backed up. See Ticket for more info.
Can you change the directory like where i want backups to save?
@ltguide
That's what I wanted, thanks :)
Please add better explanation of the config file, this would be handy, Iam not sure if my confing is alright also I don't know what options I have for setting the compression of backup files (level: BEST_COMPRESSION etc.)
thank you
@Chromana
Did you want it true or false? It is true automatically now.
Will "options: pause-when-no-players: true" from the original plugin see a come-back?
@imilkywayz
I've got everything done (that I can think of) except dropbox support. After that and some more testing, it'll be ready.
Hey, Please hurry on the "coming soon". And depending on how it works, i may be interesting in donating a few dollars for your work :D
@Thrae
Yeah, it tries to clean up after itself. I would have the entire craftbukkit folder on the physical drive then symlink just the world folders to the ramdisk. The way the code is now, the next version will get rid of the temp folder.
Actually ltguide it seems minebackup is deleting the symlink (minebackup_temp) after it's done with its backup. How very odd. I'll try removing permissions for deletion.
Edit: Seems I can't do that with a symlink, so I had to make a cron job which remakes the symlink every single minute. How very annoying.
Cancel that ltguide...noticed my minebackup_temp directory had disappeared. Oddly enough, the plugin didn't try to remake it. Making a new symlink to my minebackup_temp directory worked like a charm.
@Thrae
Could you send me the output of "ls -la" and your config.yml. Preferably in a PM.
Installed this plugin and the newest recommended CraftBukkit (was using 1.0.0 and a much older version of Minebackup with mostly ThisAreku's code) and now MineBackup fails to properly determine the free space of the directory it's zipping into.
The plugin itself is on a device with 104GB of free space (confirmed), and the minebackup and minebackup_temp directories are symlinks to the same device with 104GB of free space. I'm guessing it's judging free space based on the ramdisk which contains the World files, as that only has 73MB of space, being a 300MB ramdisk (of which the World takes up 121MB).
@confuser I might add a restore ability in the future. It's a bit sketchy though. I'll have to look at how worldedit does it. The uploading via dropbox issue is coming much sooner. Possibly in the next version.
@Hayden06 Yeah, I realized that a while back. The next version is going to address that issue by tracking the amount of backups.
How about a an option to delete old backups based on the number of backups in the directory instead of how many days they've been there.
If it is set to 10 days, and no one plays for 10 days, all the backups will be deleted :/