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.
@ltguide thanks so much you fixed my problem best plugin for bukkit thanks man1!!
@ltguide
The debug log was clean, nothing wierd. Rebooting the machine solved the problem... thanks though. ^^
@ltguide
Hmm. It seems that a few minutes after startup, the CPU usage goes away. Forget what I said for now, I'll report back if it's spiking again.
@ltguide
I am using your plugin's version 5.9.3, and the release build of Craftbukkit 1.2.5-R1. I can reproduce it every single time, simply by turning the option to "true" and starting the server. Without delay, my server starts up at 100%.
I do not know if it is a Windows server, but it's a hosted solution with DaddyCheese, so I would ASSUME that it's actually Linux.
Edit: If it helps, I run the following plugins: - bpermissions - Chatter - Commandbook - DispNameChanger - Dynmap - KarmicJail - Logblock - LWC - Mail - MCDocs - Multiverse + Inventories - NoCheatPlus - NoLaggExamine - SheduledAnnouncer - VanishNoPacket - Vault - Voxelsniper - WorldGuard - WorldEdit
@11RJB
[windows] I set ftp to false, started server, waited a minute for it to load worlds, idles at 1%. I then set ftp to true and did the same thing with the same cpu usage.
I'm on 2151 atm. What are you doing to test this? Like can you reproduce it?
Turning on the FTP option instantly puts my server at 100% CPU usage, even when the backups aren't running. Is this something you are aware of?
@ltguide
Yep
@frol1
Out of memory?
oh right ok,
so having save at 1439 and compresse at 1445 would be why my server is crashing :P
@frol1
Save is not a backup. You need it to save often.
hmm i put it a 1439 as that woul dbe 23hours and 59 minutes. i only want it ro back up once a day.
@sindaruss
Strange :0
Set debug to true in the config, "/minebackup reload" (or whole server) and then wait less than a minute. It should output what it thinks world_arena is set to.
@frol1
Well, first of all, the world names are case-sensitive. But since you've enabled the appropriate settings under default_actions, it would still work. However, you have save set to 1439m which is probably not what you meant. It should be more like 15m or 30m.
I think what might be happening is dropbox will trigger at 3am, but it sends the latest compressed backup. So since the delay on compress is a whole day, it could take two days for you to see anything.
I would set compress to a time, like compress: '1:00' so it is certain to happen soon before uploading. You can test everything with "/minebackup now" which would compress, then "/minebackup upload" to trigger all the uploads.
Turning on debug mode might help too in configuring.
@chalarie
That doesn't sound right at all. Can I see your config?
I seem to be having problems with the broadcast function. Whenever I have it set to enabled, everyone is able to see the broadcast messages (of course), but when I disable it, it does not perform the backup, but still broadcasts a "All backup actions will start momentarily" and "All backup actions have been completed". This only happens when the broadcast option is set to false. Any tips on what I'm doing wrong?
Hi there, I seem to be having troubles with minebackup sending my files to my drop box.
First problem is that its not sending my main world over.
and now its only sending my plugins folder. This is my config
http://pastebin.com/eveiMTv3
Hi there! thanks for doing this plugin! but i am having a little problem that i can't understand: i've configured all the world the same way, and one of them doesn't copy when i use /backup all:
http://i.imgur.com/JnnHT.png
i think this picture summarize it quite well...
thanks for reading and answering ;)
@gnorbsl
directories.destination needs to be something other than '.' You've got it trying to copying a folder into itself so it just loops.
@Jyizzle
It should be a folder 'minebackup' in the same level as the plugins folder. Make sure you've turned on either copy or compress for all/some worlds since it will just save by default.
@ltguide:
Hey i cant find the folder where the backups would be located. I did not tinker with the config file that modifies that help!
@ltguide
It does the same with . But now in the world folder...
here is my config:
http://pastebin.com/MKaufJWT
@Fuzzwolf
I'll see what I can do. Had a problem similar to this with saving inventories where playername and NPC name matched.
@awesomebilly
Your paste disappeared. By default, if the server restarts it will keep track of the proper time to backup.
@gnorbsl
I think you have directories.worlds set incorrectly. If your worlds are at the same level as the craftbukkit.jar, set it to '.'
@McDodge34
I just looked into this and I think I can implement this pretty easily.