Advanced Backup

Advanced Backup 1.4.0

Creates scheduled backups of your server
This plugin creates scheduled backups of your server with configurable intervals, file selection, optional Discord integration, and more.


Features

  • Configure automatic backups at intervals such as hourly, daily, or weekly.
  • Backups run asynchronously to reduce server performance impact.
  • Trigger backups on demand using commands.
  • Limit the number of backups to keep and automatically delete older backups when the limit is reached.
  • Compress backups into zip files to save disk space.
  • Define specific files or directories to include or exclude from backups.
  • Store backups locally in the server directory or send them to a Discord webhook.
  • Ensure backups are segregated by server identity to prevent misdirected or misplaced backups.

Commands

  • backup - Triggers a manual backup of the server files immediately.

Configuration

JSON:
{
  "Version": "1.4.0",
  "Enable Scheduled Backups": true,
  "Backup Interval Type (Options: Seconds, Minutes, Hours, Days)": "Minutes",
  "Backup Interval (e.g., 5 for every 5 minutes, 1 for daily)": 60,
  "Backup Time (HH:mm, leave empty to use interval)": "",
  "Maximum Number Of Backups": 5,
  "Number Of Files Copied Per Batch": 5,
  "Pause Duration Between Batches Seconds": 0.5,
  "Whitelist Mode (Set to true to backup only specified files)": false,
  "Files To Backup (Used in Whitelist Mode)": [
    "player.blueprints",
    "proceduralmap",
    "sv.files",
    "plugins",
    "data/oxide.groups",
    "data/RaidableBases",
    "data/Gamemode/AimTrain"
  ],
  "Ignored Files (Used when Whitelist Mode is false)": [
    "cfg",
    "serveremoji",
    "companion.id",
    "Log.EAC.txt",
    "logs",
    "lang",
    "oxide.config"
  ],
  "Include Oxide In Backup": false,
  "Include Carbon In Backup": false,
  "Save Backups As Zip (Set to false to save as directories)": false,
  "Discord Webhook Url (Leave blank to disable)": "",
  "Discord Message": "A new backup has been created."
}
  • Enable Scheduled Backups - Enables or disables automatic backups at regular intervals.
  • Backup Interval Type - Defines the time unit for backup intervals. Options include Seconds, Minutes, Hours, or Days.
  • Backup Interval - The frequency of backups based on the interval type. For example, 30 with Minutes creates a backup every 30 minutes.
  • Backup Time - Specifies an exact time of day (in 24‑hour format) for a daily backup. For example, setting this to 15:09 will run the backup every day at 3:09 PM. If left empty, the plugin uses the Backup Interval settings.
  • Maximum Number Of Backups - Specifies the maximum number of backups to retain. Older backups are deleted once the limit is reached.
  • Number Of Files Copied Per Batch - Determines how many files are copied in one go before taking a break. A smaller number means the backup process pauses more frequently, which can help reduce lag if you have many files.
  • Pause Duration Between Batches Seconds - Defines how long the backup process will wait after copying each group of files. A longer pause can ease the server load, but it will make the overall backup take more time.
  • Whitelist Mode - Determines the mode for file selection during backups. Set to true to only backup files listed in Files To Backup or false to exclude files listed in Ignored Files.
  • Files To Backup - A list of specific files to include in backups when whitelist mode is enabled.
  • Ignored Files - A list of files or directories to exclude from backups when whitelist mode is disabled.
  • Include Oxide In Backup - Determines whether to include the Oxide directory in backups.
  • Save Backups As Zip - Specifies whether backups should be saved as compressed ZIP files. Set to false for plain directories.
  • Discord Webhook Url - A url for sending backups to Discord via a webhook. Leave blank to disable this feature.
  • Discord Message - A custom message that will accompany the backup file when it is sent to Discord.

    Note: Discord imposes an attachment size limit (typically 8MB for non-Nitro accounts). If your backup file exceeds this limit, the backup may fail to send to Discord.
Author
VisEntities
License duration
Unlimited
Price
10.00 USD
First release
Last update

Ratings

5.00 star(s) 1 reviews

Also by VisEntities

Latest updates

  1. 1.4.0

    You can now back up specific files or folders inside oxide/ and carbon/ without needing to...
  2. 1.3.0

    Added two new settings to help reduce potential server lag during the backup process: Number Of...
  3. 1.2.0

    Updated for Carbon compatibility.

Latest reviews

A must have for any server owner!

This plugin is a must have for server owners incase the worst happens and the server dies or crashes. Avoid frustrating loses of data by setting this up to backup all those important files.
Back
Top
This plugin uses Oxide's permission system. Grant or revoke permissions using oxide.grant and oxide.revoke. You can assign them to individual players or groups using their Steam id or group name.
Chat commands start with a /, while console commands can be entered directly in the F1 console or server console. Use find <keyword> in console to search for available commands related to the plugin.
Settings are stored in the config file found under the config/ directory. You can edit this file manually, then reload the plugin to apply your changes.
Persistent data is saved in the data/ directory. This includes things like saved settings, usage stats, or player progress depending on the plugin. Deleting a data file will reset stored progress or customizations.
Language files are located in the lang/ folder. To translate messages, copy the en.json file into your target language folder (e.g. fr, de) and edit the values. Reload the plugin after changes to apply new messages.
This section lists public methods exposed by the plugin for use in other plugins. You can call these via the CallHook method. Make sure the plugin is loaded before calling its API to avoid null reference errors.
These are custom hooks that other plugins can listen for. Simply define a method with the same name and expected parameters in your plugin to handle the event. Hooks are triggered at key moments and are useful for extending or reacting to plugin behavior.
These hooks are injected into the game's code using Harmony. They let the plugin run code at key points in the game's internal logic. You can return values to block or modify behavior. Use with caution — these are powerful and can affect core mechanics.
Cart