diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-09-28 19:45:59 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2008-09-28 19:45:59 +0000 | 
| commit | 71b1c2cbf3edd91a8f1048bb8572237cff3b3d52 (patch) | |
| tree | 980d9cb499a36cef90a8e86ecc8ec67d0d55f2b1 | |
| parent | d8376cda1b38f01340f70d7abcaf93f1d12aa0df (diff) | |
add option in sysupgrade to restore config from file or URL (patch from #4043)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12772 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -rwxr-xr-x | package/base-files/files/sbin/sysupgrade | 16 | 
1 files changed, 15 insertions, 1 deletions
| diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade index 2230e5b0c..1825cec58 100755 --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -8,6 +8,7 @@ export INTERACTIVE=0  export VERBOSE=1  export SAVE_CONFIG=1  export DELAY= +export CONF_IMAGE=  # parse options  while [ -n "$1" ]; do  @@ -17,6 +18,7 @@ while [ -n "$1" ]; do  		-v) export VERBOSE="$(($VERBOSE + 1))";;  		-q) export VERBOSE="$(($VERBOSE - 1))";;  		-n) export SAVE_CONFIG=0;; +		-f) export CONF_IMAGE="$2"; shift;;  		-*)  			echo "Invalid option: $1"  			exit 1 @@ -38,6 +40,7 @@ Usage: $0 [options] <image file or URL>  Options:  	-d <delay>   add a delay before rebooting +	-f <config>  restore configuration from .tar.gz (file or url)  	-i           interactive mode  	-n	     do not save configuration over reflash  	-q           less verbose @@ -85,7 +88,18 @@ for check in $sysupgrade_image_check; do  	}  done -if ask_bool $SAVE_CONFIG "Keep config files over reflash"; then +if [ -n "$CONF_IMAGE" ]; then +	case "$(get_magic_word "$CONF_IMAGE")" in +		# .gz files +		1f8b) ;; +		*) +			echo "Invalid config file. Please use only .tar.gz files" +			exit 1 +		;; +	esac +	get_image "$CONF_IMAGE" > "$CONF_TAR" +	export SAVE_CONFIG=1 +elif ask_bool $SAVE_CONFIG "Keep config files over reflash"; then  	do_save_conffiles  	export SAVE_CONFIG=1  else | 
