Spigot eBackup - Simple and reliable backups for your server! Supports FTP/SFTP! 1.2.0

The easiest and simplest way to backup your server reliably! Free, and supports FTP+SFTP!

  1. Do you have a loop? Possibly a shortcut file that goes elsewhere on the drive? If so, you may want to exclude that file from the backup.
  2. No update needed
  3. It wont work for me?
  4. It works for me... What is the error you are getting? I highly doubt it is 1.16.2 related though.
  5. Hi, wanted to give this a try but I backed up after I saw one of your 'users' coming back with his config file, cron!
    So really out of date this one, sure, advantage of selecting is perfect, and it takes an almost 'No-No' to handle it, so for that I say thanks for making the big effort.
    I'd rather had seen if your plugin detects the worlds that are there, lift them into a backup and be done with that. Your plugin gives the scrutinized version of a backup system I have already in place, so really too much... Ok, the user can always select them out, truth, but then it does not makes things simple...

    I try to tell you to automate this, using a simple choice...
    - standard, the backup program backs up worlds...(all of them within the game folder)
    - advanced, let the user do the specific settings, (only someone with elaborate knowledge of backup process can take this course)

    This is no bad reply but a well thought of from a person who had a lifetime handling with servers and their backups... Keep up the good job!

    Ps. can your backups interact with restoring selecting parts in a world without problems?
    (Worldedit, Worldguard)
  6. Thank you!

    About your feedback, this plugin is meant to be as simple and reliable as possible, both code-wise and functionality wise. If you needed to do a lot of custom behaviour, feel free to use the code, it is licensed under an open license. Restoring parts of a world isn't really the goal of this plugin, it's just meant to do simple file backups and not really interact with the server all that much.
  7. Hello, I just downloaded the plugin. How can I specify the path of the FTP backup? Even though I set it in the config, it sill save it in the root of the FTP server. Please help, thank you.
    Code (YAML):
    path: '~/backups/'
  8. You might want to try giving a direct path starting from the root.
  9. Hi, I've installed this plugin for the past few days and I've been getting this error:

    [Wed, 11. Nov 2020 03:00:00 GMT INFO] Starting backup...
    [Wed, 11. Nov 2020 03:00:00 GMT WARN] A manual (plugin-induced) save has been detected while server is configured to auto-save. This may affect performance.
    [Wed, 11. Nov 2020 03:00:00 GMT INFO] Backing up world world ./world...
    [Wed, 11. Nov 2020 03:01:34 GMT INFO] Backing up world world_nether ./world_nether...
    [Wed, 11. Nov 2020 03:02:08 GMT INFO] Backing up world world_the_end ./world_the_end...
    [Wed, 11. Nov 2020 03:02:23 GMT INFO] Backing up other files...
    [Wed, 11. Nov 2020 03:02:30 GMT INFO] Uploading backup to SFTP server...
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] 2: No such file
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at com.jcraft.jsch.ChannelSftp.throwStatusError(ChannelSftp.java:2873)
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at com.jcraft.jsch.ChannelSftp._put(ChannelSftp.java:594)
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:475)
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at com.jcraft.jsch.ChannelSftp.put(ChannelSftp.java:365)
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at dev.espi.ebackup.BackupUtil.uploadSFTP(BackupUtil.java:186)
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at dev.espi.ebackup.BackupUtil.doBackup(BackupUtil.java:133)
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at dev.espi.ebackup.eBackup.lambda$loadPlugin$0(eBackup.java:105)
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:99)
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54)
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    [Wed, 11. Nov 2020 03:02:33 GMT WARN] at java.lang.Thread.run(Thread.java:748)
    [Wed, 11. Nov 2020 03:02:33 GMT INFO] Backup complete!

    The backup does finish and save to /plugins/eBackup/backups , but does not upload to my SFTP server. I've triple checked that my sftp server is correctly configured and that it can be accessed outside of my local network, and that the config.yml file does not have any errors. Backups itself work fine, for now I just download the zip files everyday to my local PC until something's figured out.

    I'm running paper 1.16.4 build 262 by the way. Thanks for making this plugin!
  10. Could you try doing a direct path from root (ex. /home/user/backups) rather than a relative path? IIRC relative paths with sftp have been wonky.
  11. Figured it out, apparently my file server's firewall was auto blocking ebackup from seeing directories, it works perfectly now as of the last 3 days. Thanks for the help though.
    • Like Like x 1
  12. Hey, really cool Plugin, everything works so far. I have a small issue though and I'm not sure if I did something wrong on my end. The problem is that the config file always resets after the server does automatically restart. I tried to flag the file read-only, but doesn't help at all.

    Thanks for the feedback.
  13. That's strange, could you try with an empty server (just ebackup as a plugin, nothing else) on that machine and see if it still is an issue?
  14. I did as you said but still the same. I uploaded my config.yml, reloaded the plugin, it said "Configured the cron task to be: every 6 hours at minute 0" and then I restarted the server. But it always says "Configured the cron task to be: at 04:00". I attached the latest log in case it helps.

    Maybe the restart function from ZAP-Hosting does something weird. Or I used the cron format wrongly.
    (I used crontask: '0 0 */6 * * *' for a backup every 6 hours)

    Edit: I tested it on my local machine and I had no problems there (without and with other plugins). I guess the restart feature from ZAP-Hosting screws something up :/ It's still strange though, I have no problems with the other plugins I use.

    Attached Files:

    #115 BuzZoiD, Dec 9, 2020
    Last edited: Dec 9, 2020
  15. Yes, your cron task does work for me... You can try using /ebackup reload on your server which will output the crontask as well. Something strange is definitely up...
  16. I used the command already and I also copied the config file to my pc to check the current settings. The cron task and the max backups setting went always back to default and the backup files are gone as well after every restart.

    It's unfortunate, but it seems I have to install another backup plugin which hopefully works for my server. Thanks for the help nonetheless. :)
  17. How can I set up multiple CronTasks?
  18. unfortunately, you can't
    another way is to find a plugin that can schedule running commands
  19. Hey I have installed this Plugin on my Server and gettings these error:

    [21:43:24 ERROR]: Error occurred while enabling eBackup v1.1.3 (Is it up to date?)
    java.lang.NoClassDefFoundError: com/google/gson/JsonElement
    at dev.espi.ebackup.eBackup.onEnable(eBackup.java:114) ~[?:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[server.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:335) [server.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [server.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:356) [server.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:316) [server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.q(MinecraftServer.java:402) [server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.k(MinecraftServer.java:370) [server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.a(MinecraftServer.java:325) [server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:211) [server.jar:git-Spigot-c3c767f-33d5de3]
    at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [server.jar:git-Spigot-c3c767f-33d5de3]
    at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
    Caused by: java.lang.ClassNotFoundException: com.google.gson.JsonElement
    at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471) ~[?:?]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[server.jar:git-Spigot-c3c767f-33d5de3]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[server.jar:git-Spigot-c3c767f-33d5de3]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
    ... 12 more

    My Server ist running on Spigot 1.8