Add backing up of ir.json to wled-tools

This commit is contained in:
Michael Bisbjerg
2025-09-22 19:01:52 +02:00
committed by GitHub
parent 4d39dd0a5e
commit 4bfc9a9514

View File

@@ -115,12 +115,15 @@ backup_one() {
local cfg_url="http://$address:$port/cfg.json" local cfg_url="http://$address:$port/cfg.json"
local presets_url="http://$address:$port/presets.json" local presets_url="http://$address:$port/presets.json"
local ir_url="http://$address:$port/ir.json"
local cfg_dest="${backup_dir}/${hostname}.cfg.json" local cfg_dest="${backup_dir}/${hostname}.cfg.json"
local presets_dest="${backup_dir}/${hostname}.presets.json" local presets_dest="${backup_dir}/${hostname}.presets.json"
local ir_dest="${backup_dir}/${hostname}.ir.json"
# Write to ".tmp" files first, then move when success, to ensure we don't write partial files # Write to ".tmp" files first, then move when success, to ensure we don't write partial files
local curl_command_cfg="curl -s "$cfg_url" -o "$cfg_dest.tmp"" local curl_command_cfg="curl -s "$cfg_url" -o "$cfg_dest.tmp""
local curl_command_presets="curl -s "$presets_url" -o "$presets_dest.tmp"" local curl_command_presets="curl -s "$presets_url" -o "$presets_dest.tmp""
local curl_command_ir="curl -s "$ir_url" -o "$ir_dest.tmp""
if ! curl_handler "$curl_command_cfg" "$hostname"; then if ! curl_handler "$curl_command_cfg" "$hostname"; then
log "ERROR" "$RED" "Failed to backup configuration for $hostname" log "ERROR" "$RED" "Failed to backup configuration for $hostname"
@@ -136,6 +139,14 @@ backup_one() {
mv "$cfg_dest.tmp" "$cfg_dest" mv "$cfg_dest.tmp" "$cfg_dest"
mv "$presets_dest.tmp" "$presets_dest" mv "$presets_dest.tmp" "$presets_dest"
if curl_handler "$curl_command_ir" "$hostname"; then
mv "$ir_dest.tmp" "$ir_dest"
else
rm -f "$ir_dest.tmp"
log "WARN" "$YELLOW" "No ir.json found for $hostname (skipping)"
fi
log "INFO" "$GREEN" "Successfully backed up config and presets for $hostname" log "INFO" "$GREEN" "Successfully backed up config and presets for $hostname"
return 0 return 0
} }