This commit is contained in:
@@ -4,6 +4,8 @@
|
||||
## The number of backups to keep
|
||||
BACKUPS_KEEP=24
|
||||
|
||||
CONTAINER_USER_ID="2015"
|
||||
|
||||
# Global variables (Do NOT change)
|
||||
CLEANUP_FABRIC=false
|
||||
CLEANUP_LUCKPERMS=false
|
||||
@@ -18,6 +20,7 @@ main() {
|
||||
|
||||
broadcast_status started
|
||||
|
||||
backup_beta || cleanup_failure
|
||||
backup_fabric || cleanup_failure
|
||||
backup_luckperms || cleanup_failure
|
||||
backup_paper || cleanup_failure
|
||||
@@ -63,6 +66,9 @@ broadcast_status() {
|
||||
STATUS="$1"
|
||||
log_info "Broadcasting backup status: $STATUS"
|
||||
|
||||
if docker compose exec -T beta true > /dev/null 2>&1; then
|
||||
docker compose exec -u "$CONTAINER_USER_ID" -T beta mc-send-to-console "say Backup $STATUS." > /dev/null 2>&1
|
||||
fi
|
||||
if docker compose exec -T fabric true > /dev/null 2>&1; then
|
||||
docker compose exec -T fabric rcon-cli "tellraw @a [{\"text\":\"Server\",\"color\":\"light_purple\"},{\"text\":\": Backup $STATUS.\",\"color\":\"white\"}]" > /dev/null 2>&1
|
||||
fi
|
||||
@@ -71,6 +77,28 @@ broadcast_status() {
|
||||
fi
|
||||
}
|
||||
|
||||
backup_beta() {
|
||||
log_info "Starting Beta backup..."
|
||||
|
||||
CLEANUP_BETA=false
|
||||
if docker compose exec -T beta true > /dev/null 2>&1; then
|
||||
CLEANUP_BETA=true
|
||||
log_info "Beta server detected, disabling saves"
|
||||
|
||||
docker compose exec -u "$CONTAINER_USER_ID" -T beta mc-send-to-console "save-off" > /dev/null 2>&1
|
||||
docker compose exec -u "$CONTAINER_USER_ID" -T beta mc-send-to-console "save-all" > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
docker compose run --rm init sh -c '
|
||||
mkdir -p "$1"/beta_data &&
|
||||
cp -a --reflink=auto /beta_data/world "$1"/beta_data &&
|
||||
cp -a --reflink=auto /beta_data/white-list.txt "$1"/beta_data &&
|
||||
cp -a --reflink=auto /beta_data/ops.txt "$1"/beta_data
|
||||
' -- "$BACKUP_DIR" || return 1
|
||||
|
||||
log_info "Finished Beta backup"
|
||||
}
|
||||
|
||||
backup_fabric() {
|
||||
log_info "Starting Fabric backup..."
|
||||
|
||||
@@ -240,6 +268,11 @@ cleanup() {
|
||||
# Ignore specified conditions to ensure cleanup runs to completion uninterrupted
|
||||
trap '' HUP INT QUIT ABRT TERM
|
||||
|
||||
if [ "$CLEANUP_BETA" = true ]; then
|
||||
log_info "Re-enabling Beta saves"
|
||||
docker compose exec -u "$CONTAINER_USER_ID" -T beta mc-send-to-console "save-on" > /dev/null 2>&1
|
||||
fi
|
||||
|
||||
if [ "$CLEANUP_FABRIC" = true ]; then
|
||||
log_info "Re-enabling Fabric saves"
|
||||
docker compose exec -T fabric rcon-cli save-on > /dev/null 2>&1
|
||||
|
||||
Reference in New Issue
Block a user