#!/bin/sh OUT_FILE="$1" LIST_FILE="$2" OPKG_SCR="$3" CONFIGS="$4" H_REPLACE="$5" [ -z "$OUT_FILE" ] || [ -z "$LIST_FILE" ] || [ -z "$OPKG_SCR" ] || [ -z "$CONFIGS" ] || [ -z "H_REPLACE" ] && echo "Missing params!" && exit 1 TMP_DIR="/tmp/backup_stack" rm -rf "$TMP_DIR" && mkdir -p "$TMP_DIR" COUNT=0 echo "Writing package list..." $OPKG_SCR write "$LIST_FILE" "$H_REPLACE" echo "Collecting files..." for p in $CONFIGS; do if [ -e "$p" ]; then mkdir -p "$TMP_DIR$(dirname "$p")" cp -a "$p" "$TMP_DIR$p" echo " [+] $p" COUNT=$((COUNT + 1)) else echo " [-] $p (not found)" fi done echo "Creating archive..." tar -czf "$OUT_FILE" -C "$TMP_DIR" . rm -rf "$TMP_DIR" echo "Total $COUNT config paths saved to $OUT_FILE."