DUXPLIMA Documentation

Sets and schedules

What a set takes, the cron and period schedules, and excludes.

A set

sets {
  full {
    worlds   = ["world", "world_nether", "world_the_end"]
    paths    = ["plugins", "server.properties", "bukkit.yml", "spigot.yml", "paper-global.yml"]
    storages = ["local"]
    schedule = "0 4 * * *"
    excludes = []
    databases {}
  }
}
KeyMeaning
worldsWorld names. The world is saved to disk before it is read
pathsFiles and folders, relative to the server folder
storagesIds from the storages block the archive goes to
scheduleA cron expression or a period. Empty: only on /uxmbackup run <set>
excludesGlobs left out, added to the global excludes list, never replacing it
databasesDatabases dumped through their own engine; see Databases

The shipped sets:

SetTakesWhen
fullThe three worlds, plugins and the server's own files0 4 * * *: every night at 04:00
lightplugins, leaving out plugins/*/cache6h: every six hours

Both go to local. These are examples; name your own. A set you remove from the file is not written back.

Schedules

A schedule is either five cron fields, minute hour day-of-month month day-of-week, or a period such as 30m, 6h or 1d.

KindBehaviour
PeriodCounts from the last run
CronFires at the clock times; does not drift with restarts

In cron, a step counts from the first value of its field: */2 in the day of month is the 1st, 3rd, 5th, and */3 in the month is January, April, July and October. Sunday is 0 or 7.

ExampleFires
0 4 * * *04:00 every day
30 */6 * * *At half past every sixth hour
0 3 * * 003:00 every Sunday
0 5 1 * *05:00 on the first of each month

Excludes

An exclude is a glob matched against the path inside the archive, without regard to case:

PatternMatches
*Within one folder
**Across folders
**/Any number of folders, including none: **/*.lock leaves out lock files at any depth
A plain name such as logsThat folder and everything in it

The global excludes ships with libraries, cache, logs, crash-reports, spark and **/*.lock. The plugin never backs up its own archive folder or any local storage's folder, by path, whatever it is called.

Related: config.conf, A run