Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for espidev

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

Report eBackup?

eBackup

An easy and reliable way to backup your server!

Source code: https://github.com/espidev/eBackup

Features:

  • Backup your server files to a compressed zip file!
  • Choose which files to backup!
  • Scheduled backups using cron!
  • FTP and SFTP support, allowing for remote backups!
  • Limits for backups!
  • Fast and async, backups happen in the background to not lag the server!
  • Minimal dependency on Bukkit API, should work with Minecraft versions far into the future without update!
  • Completely free and open source!

Installation:

Add the plugin jar to the plugins folder, and then configure the config.yml in the plugins/eBackup folder!

If you are having issues with SFTP, try using a direct path from root (ex. /home/user/backups) instead of a relative path.

Note: When opening backups on Windows, it is highly recommended to use 7zip.

Usage:

Give admins the permission ebackup.admin to use /ebackup commands.

  • /ebackup list - Lists the backups in the backup folder
  • /ebackup backup - Starts a backup
  • /ebackup backuplocal - Starts a backup, and does not upload to FTP/SFTP
  • /ebackup stats - Show storage statistics
  • /ebackup testupload - Test uploading a file to FTP/SFTP without creating a backup
  • /ebackup reload - Reload the plugin

Config:

config.yml

# crontask: '0 0 4 * * *' This would make it every day at 4 AM

# CronTask format:
# * * * * * *
# | | | | | |
# | | | | | +---- Day of the Week   (1-7)
# | | | | +------ Month             (1-12)
# | | | +-------- Day of the Month  (1-31)
# | | +---------- Hour              (0-23)
# | +------------ Minute            (0-59)
# +-------------- Second            (0-59)

# A few more examples...
# crontask: '0 0 * * * *' This would make it every hour
# crontask: '0 0 4 * * 7' This would make it every sunday at 4 AM
# crontask: '0 0 4 1 * *' This would make it every first of the month at 4 AM
# crontask: '0 30 3 */2 * *' This would make it at 3:30 AM every 2 days

# If you do /ebackup reload, you can see a description in the console of what the cron task does.

# Filename format for the backup files created
backup-format: 'eBackup {DATE}'

# Format to use as replacement for {DATE} in backup-format
# Refer to java.text.SimpleDateFormat for format docs
backup-date-format: 'yyyy-MM-dd HH-mm-ss'

# The folder where to store the backups locally.
backup-path: 'plugins/eBackup/backups'

# The maximum backups stored. Will delete older backups when reached. (? 0 to disable)
# Note: this will only work with local backups (fallbacks included).
max-backups: 20

# This option reduces disk space by only performing backups if players had joined since the last backup or server start.
only-backup-if-players-were-on: true

# Delete the local backup after each upload.
delete-after-upload: false

# Zip compression level (0-9)
# Increase it to reduce file size, but backups will be more CPU intensive and take longer
compression-level: 4

# FTP/SFTP settings and configuration.
# Backups saved here will not be auto-deleted.
ftp:
    enable: false
    path: '/home/user/backups/' # don't forget to change!
    type: sftp  # ftp for ftp, sftp for ftp over ssh
    host: 'localhost'
    port: 22
    user: 'username'
    pass: 'password'
    use-key-auth: false #  use key based authentication for sftp (ignores password)
    private-key: '~/.ssh/id_rsa'
    private-key-password: ''  # leave blank if the private key has no password

# What you want in the backup.
# By default, everything will be backupped, you can remove files/directories in the ignore section
backup:
    pluginjars: true # The .jar files for the plugins
    pluginconfs: true # The data folder of each plugin
    ignore: # Files/directories to ignore and NOT backup
        - 'plugins/eBackup/backups'
        - 'plugins/dynmap'
        - 'logs'
        - 'cache'

Developers:

The plugin is completely free and open source, meaning that you are allowed to take the code and modify it as you wish! If you have features you want to implement, feel free to submit a pull request, or fork it and start a new branch! :)

Background:

This plugin was created to address a shortage of decent free backup plugins. It adds support for sftp, which allows saving files over SSH connections. This was created for my server, since our old backup plugins kept causing storage issues with the way it saved! It takes heavy inspiration from the plugin PerfectBackup, but greatly improves saving performance!

Usage Statistics:

https://bstats.org/signatures/bukkit/ebackup.svg

View full statistics here: https://bstats.org/plugin/bukkit/eBackup/5262

If you would not like to participate in the anonymous survey, disable bStats.

Information

CategoryAdmin Tools
Published onMay 10, 2023
LicenseApache 2.0
Downloads654
Stars7
Watchers4

Pinned Versions

Members

Avatar for espidev

espidev

Owner