add simple scripts for backup/restore
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@534 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
55dabb1053
commit
48bf198353
|
@ -0,0 +1,38 @@
|
||||||
|
#!/bin/sh
|
||||||
|
for param in $*; do
|
||||||
|
case "$param" in
|
||||||
|
-n)
|
||||||
|
SAVE_NVRAM=y
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
OUTPUT_FILE="$param"
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$OUTPUT_FILE" = "-" ]; then
|
||||||
|
echo "Writing backup to stdout.." >&2
|
||||||
|
elif [ "$OUTPUT_FILE" = "" ]; then
|
||||||
|
echo "No output file."
|
||||||
|
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
|
||||||
|
|
||||||
|
if [ "$1" = "-n" ]; then
|
||||||
|
echo __NVRAM__
|
||||||
|
nvram show 2>/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
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
|
|
@ -0,0 +1,71 @@
|
||||||
|
#!/bin/sh
|
||||||
|
for param in $*; do
|
||||||
|
case "$param" in
|
||||||
|
*)
|
||||||
|
INPUT_FILE="$param"
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$INPUT_FILE" = "-" ]; then
|
||||||
|
echo "Reading backup from stdin..." >&2
|
||||||
|
elif [ "$INPUT_FILE" = "" ]; then
|
||||||
|
echo "No input file."
|
||||||
|
else
|
||||||
|
echo "Reading backup from $INPUT_FILE" >&2
|
||||||
|
exec < "$INPUT_FILE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
process_line () {
|
||||||
|
case "$SECTION" in
|
||||||
|
ipkg)
|
||||||
|
echo "$line" >> /etc/ipkg.conf
|
||||||
|
;;
|
||||||
|
nvram)
|
||||||
|
echo nvram set "$line"
|
||||||
|
;;
|
||||||
|
package)
|
||||||
|
if grep "^Package: $line" /usr/lib/ipkg/status 2>&1 > /dev/null; then
|
||||||
|
echo Package "$line" already installed.
|
||||||
|
else
|
||||||
|
ipkg install "$line"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
file)
|
||||||
|
rm -f "$line"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
read line
|
||||||
|
case "$line" in
|
||||||
|
__IPKG__)
|
||||||
|
SECTION=ipkg
|
||||||
|
echo "Restoring /etc/ipkg.conf"
|
||||||
|
rm -f /etc/ipkg.conf
|
||||||
|
;;
|
||||||
|
__NVRAM__)
|
||||||
|
SECTION=nvram
|
||||||
|
echo "Restoring nvram"
|
||||||
|
;;
|
||||||
|
__PACKAGES__)
|
||||||
|
SECTION=package
|
||||||
|
echo "Restoring packages"
|
||||||
|
ipkg update
|
||||||
|
;;
|
||||||
|
__FILELIST__)
|
||||||
|
SECTION=file
|
||||||
|
echo "Deleting old files"
|
||||||
|
;;
|
||||||
|
__FILES__)
|
||||||
|
echo "Restoring /etc"
|
||||||
|
tar -C / -xvz
|
||||||
|
echo "Restore complete."
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
process_line;
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
Loading…
Reference in New Issue