#!/bin/sh

# Set working directory on the USB drive
USB_MOUNT="/mnt/sda1"
USB_DIR="${USB_MOUNT}/mtd_backups"
OUTPUT_FILE="${USB_MOUNT}/mtd_backups.tgz"

echo "Creating backup directory at ${USB_DIR}"
mkdir -p "${USB_DIR}"

echo "Reading MTD devices..."
cat /proc/mtd | tail -n +2 | while read LINE; do
  MTD_DEV=$(echo "$LINE" | cut -d: -f1)
  MTD_NAME=$(echo "$LINE" | cut -d\" -f2)
  OUTPUT_FILE_PATH="${USB_DIR}/${MTD_DEV}_${MTD_NAME}.backup"
  echo "Backing up /dev/${MTD_DEV}ro to ${OUTPUT_FILE_PATH}"
  dd if="/dev/${MTD_DEV}ro" of="${OUTPUT_FILE_PATH}" || echo "Failed to backup ${MTD_DEV}"
done

echo "Compressing all backups into ${OUTPUT_FILE}"
tar czf "${OUTPUT_FILE}" -C "${USB_MOUNT}" "mtd_backups"

echo "All done! Backup saved to: ${OUTPUT_FILE}"
