From 8e946e7780cf80a16c5faec86619294a4a06106a Mon Sep 17 00:00:00 2001 From: Warren Hood Date: Sun, 8 Sep 2024 23:54:47 +0200 Subject: [PATCH] Configured automatic backups every 15 mins --- modpack.toml | 5 + server/config/AdvancedBackups.properties | 158 +++++++++++++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 server/config/AdvancedBackups.properties diff --git a/modpack.toml b/modpack.toml index a2858f7..b86dd9f 100644 --- a/modpack.toml +++ b/modpack.toml @@ -515,6 +515,11 @@ target_path = "servers.dat" side = "Client" apply_policy = "Always" +[files."./server/config/AdvancedBackups.properties"] +target_path = "config/AdvancedBackups.properties" +side = "Server" +apply_policy = "Always" + [files."./server/config/carryon-common.toml"] target_path = "config/carryon-common.toml" side = "Server" diff --git a/server/config/AdvancedBackups.properties b/server/config/AdvancedBackups.properties new file mode 100644 index 0000000..17244f5 --- /dev/null +++ b/server/config/AdvancedBackups.properties @@ -0,0 +1,158 @@ +#Enable or disable automatic backups. +#Options : true, false #Default : true +config.advancedbackups.enabled=true + +#Whether to save before making a backup. +#Options : true, false #Default : true +config.advancedbackups.save=true + +#Buffer size, in bytes, to use when reading / writing files. Higher will improve speeds, but increase memory usage. +#Too high can cause an OOM. I'd advise against editing this unless you experience issues. +#Range : 1-2147483647 #Default : 1048576 +config.advancedbackups.buffer=1048576 + +#Whether to flush when making the aforementioned save. Can cause a lag spike, and is usually not required. +#Unused prior to minecraft 1.16. +#Options : true, false #Default : false +config.advancedbackups.flush=false + +#Whether to require player activity between backups. +#Options : true, false #Default : true +config.advancedbackups.activity=true + +#The type of backups to use. +#Options : zip, differential, incremental #Default : differential +config.advancedbackups.type=differential + +#A list of files, relative paths within the world directory, to skip backing up. +#Comma separated, * is a wildcard, and backslashes are replaced with forward slashes. +#Default : session.lock,*.dat_old +config.advancedbackups.blacklist=session.lock,*_old + +#The absolute or relative path to the backup location. +#Options : any file path. Default : ./backups +config.advancedbackups.path=./backups + +#Minimum time between backups, in hours. This can prevent a shutdown backup from triggering immediately after a scheduled backup or similar situations. +#Set to 0 to disable. +#5 minutes = ~ 0.083 hours. +#Range : 0 - 500 #Default : 0.5 +config.advancedbackups.frequency.min=0.2 + +#Triggers a backup if none has already happened within this time. Can be combined with an uptime-based schedule. +#Range : 0.5 - 500 #Default : 24 +config.advancedbackups.frequency.max=24.0 + +#Whether the schedule below uses uptime (true) or real-world time (false). +#Default : true +config.advancedbackups.frequency.uptime=true + +#When using server uptime: + #A looping comma-separated backup schedule, based off of server uptime, hours:minutes. Examples: + #4:00 - Makes a backup every four hours. + #4:00,7:00 - Makes a backup after four hours, then three, then four, and so on. + #1:00 - Makes a backup every hour. + #4:00,8:00,12:00,16:00,17:00,18:00,19:00,20:00,21:00,24:00 - Makes a backup following a strict schedule. + +#When using real-world time: + #A strict schedule, using hours:minutes to follow real-world time. Examples: + #4:00 - Makes a backup at 4am each day. + #4:00,8:00,12:00,16:00,17:00,18:00,19:00,20:00,21:00,24:00 - Makes a backup at specific times of day. + +#Default : 1:00 +config.advancedbackups.frequency.schedule=0:15 + +#Whether to force a backup on server shutdown. Respects min frequency. +#Options : true, false #Default : false +config.advancedbackups.frequency.shutdown=false + +#Whether to force a backup on server startup. Respects min frequency. +#Options : true, false #Default : false +config.advancedbackups.frequency.startup=false + +#Delay to use after startup, in seconds. Is always at least 5 seconds. +#Range : 5-1000 #Default : 30 +config.advancedbackups.frequency.delay=30 + + +#-------------------------------------------------------------------------------------------------------------------- +##The following options control logging of backup progress, including which clients to contact. +##Backup start and end are always logged to console. The rest is configurable. +#-------------------------------------------------------------------------------------------------------------------- + +#Which clients to send progress updates to. Behaviour before this was added was `ops` +#Options : ops, all, none #Default : ops +config.advancedbackups.logging.clients=all + +#How often to send progress info to clients, measured in milliseconds. Old behaviour was `0`, not recommended for servers due to network load. +#Range : 0 - ~infinite #Default : 500 +config.advancedbackups.logging.clientfrequency=500 + +#Whether to log backup progress to console. Start / finish are always logged. Old behaviour was `false`. +#Options : true, false #Default : true +config.advancedbackups.logging.console=true + +#How often to send log progress info in the console, measured in milliseconds. +#Range : 0 - ~infinite #Default : 5000 +config.advancedbackups.logging.consolefrequency=5000 + + + +#-------------------------------------------------------------------------------------------------------------------- +##The following options control deletion of old backups, meeting a criteria. A backup only needs to meet ONE of the below criteria to be purged. +##The oldest backups are always purged first, or oldest differnetial partial if the oldest differential backup is being depended on. +#-------------------------------------------------------------------------------------------------------------------- +#The maximum size to keep, in GB. Keep relatively high for zips, tighter space requirements should instead use differential or incremental backups. +#Set to 0 to disable. +#Range : 0 - 9999 #Default : 50 +config.advancedbackups.purge.size=50.0 + +#The maximum days to keep backups for. Higher amounts will keep a longer "history" but take up more space in return. +#Set to 0 to disable. +#Range : 0 - 9999 #Default : 0 +config.advancedbackups.purge.days=0 + +#The maximum amount of backups to keep. Older backups will be purged if this is exceeded. +#Set to 0 to disable. +#Range : 0 - 9999 #Default : 0 +config.advancedbackups.purge.count=20 + +#Whether to delete incremental backup chains if max size is exceeded. If not, incremental backups do not respect the above options and never delete. +#This is because you can't delete part of an incremental backup chain without breaking the links. Differentials do not have this downside. +#Options : true, false #Default : true +config.advancedbackups.purge.incrementals=true + +#The minimum number of incremental chains to keep before purging any that meet the criteria. Only relevant if the above option is set to true. +#Range : 1 - 9999 #Default : 1 +config.advancedbackups.purge.incrementalchains=1 + + + +#-------------------------------------------------------------------------------------------------------------------- +##The following options only affect zip files, whether that's for zip backups, export commands or some other option. +#-------------------------------------------------------------------------------------------------------------------- + +#The compression level to use for zip files. Higher numbers space usage, but decrease performance. +#Range : 1-9 #Default : 4 +config.advancedbackups.zips.compression=4 + + +#-------------------------------------------------------------------------------------------------------------------- +##The following options only affect differential and incremental backups. +#-------------------------------------------------------------------------------------------------------------------- + +#The maximum 'chain' length to keep. +#Range : 5-500 #Default : 50 +config.advancedbackups.chains.length=50 + +#Whether to compress 'chains'. This compresses the base backup and all sequential backups. Reduces space usage, but decreases performance. +#Options : true, false #Default : true +config.advancedbackups.chains.compress=true + +#Whether to enable "smart" reset for chains - if every file is being backed up, mark the backup as complete and reset chain length regardless of intended backup type. +#Options : true, false #Default : true +config.advancedbackups.chains.smart=true + +#What % of a full backup is allowed to be contained in a partial before forcing it into a full backup. Useful for reducing partial backup size. +#Range : 1-100 #Default : 50 +config.advancedbackups.chains.maxpercent=50.0