minecraft: fix backup script — skip missing nether/end dirs, safe save-on on tar failure
This commit is contained in:
@@ -81,17 +81,22 @@ spec:
|
||||
echo "[backup] Pausing auto-save (save-off)..."
|
||||
rcon-cli save-off
|
||||
|
||||
# Step 2: archive world directories
|
||||
# Step 2: archive world directories (nether/end may not exist yet)
|
||||
echo "[backup] Archiving world to ${BACKUP_FILE}..."
|
||||
tar -czf "${BACKUP_FILE}" \
|
||||
-C /data \
|
||||
world \
|
||||
world_nether \
|
||||
world_the_end \
|
||||
whitelist.json \
|
||||
ops.json \
|
||||
banned-players.json \
|
||||
banned-ips.json
|
||||
DIRS_TO_BACKUP="world"
|
||||
[ -d /data/world_nether ] && DIRS_TO_BACKUP="$DIRS_TO_BACKUP world_nether"
|
||||
[ -d /data/world_the_end ] && DIRS_TO_BACKUP="$DIRS_TO_BACKUP world_the_end"
|
||||
FILES_TO_BACKUP=""
|
||||
[ -f /data/whitelist.json ] && FILES_TO_BACKUP="$FILES_TO_BACKUP whitelist.json"
|
||||
[ -f /data/ops.json ] && FILES_TO_BACKUP="$FILES_TO_BACKUP ops.json"
|
||||
[ -f /data/banned-players.json ] && FILES_TO_BACKUP="$FILES_TO_BACKUP banned-players.json"
|
||||
[ -f /data/banned-ips.json ] && FILES_TO_BACKUP="$FILES_TO_BACKUP banned-ips.json"
|
||||
|
||||
tar -czf "${BACKUP_FILE}" -C /data $DIRS_TO_BACKUP $FILES_TO_BACKUP || {
|
||||
echo "[backup] ERROR: tar failed — re-enabling saves and exiting"
|
||||
rcon-cli save-on
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "[backup] Archive complete: $(du -sh ${BACKUP_FILE} | cut -f1)"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user