diff options
Diffstat (limited to 'openwrt/package/base-files/default/sbin/backup')
-rwxr-xr-x | openwrt/package/base-files/default/sbin/backup | 32 |
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 |