summaryrefslogtreecommitdiff
path: root/openwrt/package/base-files/default/sbin/backup
diff options
context:
space:
mode:
Diffstat (limited to 'openwrt/package/base-files/default/sbin/backup')
-rwxr-xr-xopenwrt/package/base-files/default/sbin/backup32
1 files changed, 32 insertions, 0 deletions
diff --git a/openwrt/package/base-files/default/sbin/backup b/openwrt/package/base-files/default/sbin/backup
new file mode 100755
index 0000000000..33bad53501
--- /dev/null
+++ b/openwrt/package/base-files/default/sbin/backup
@@ -0,0 +1,32 @@
+#!/bin/sh
+for param in $*; do
+ case "$param" in
+ *)
+ OUTPUT_FILE="$param"
+ ;;
+ esac
+done
+
+if [ "$OUTPUT_FILE" = "-" ]; then
+ echo "Writing backup to stdout.." >&2
+elif [ "$OUTPUT_FILE" = "" ]; then
+ echo "No output file."
+ exit 1
+else
+ echo "Writing backup to $OUTPUT_FILE" >&2
+ exec > "$OUTPUT_FILE"
+fi
+
+echo __FILELIST__
+find /etc -type f > /tmp/.wlbackup_files
+cat /tmp/.wlbackup_files
+
+echo __IPKG__
+cat /etc/ipkg.conf
+
+echo __PACKAGES__
+grep '^Package:' /usr/lib/ipkg/status | cut -d' ' -f2
+
+echo __FILES__
+tar -T /tmp/.wlbackup_files -cz 2>/dev/null
+rm -f /tmp/.wlbackup_files