mirror of
https://github.com/nextcloud/nextcloudpi.git
synced 2026-01-10 15:12:01 -03:30
added nc-export-ncp and nc-import-ncp
This commit is contained in:
parent
6c7cd4b8be
commit
f8b328e396
@ -1,5 +1,11 @@
|
||||
|
||||
[v0.37.5](https://github.com/nextcloud/nextcloudpi/commit/0a7850c) (2017-11-25) nc-info: provide suggestions
|
||||
[v0.39.0](https://github.com/nextcloud/nextcloudpi/commit/3bbd913) (2017-11-27) added nc-export-ncp and nc-import-ncp
|
||||
|
||||
[v0.38.1 ](https://github.com/nextcloud/nextcloudpi/commit/0943d83) (2017-11-27) nc-info: warn distro
|
||||
|
||||
[v0.38.0 ](https://github.com/nextcloud/nextcloudpi/commit/b05debc) (2017-11-27) added SSH
|
||||
|
||||
[v0.37.5](https://github.com/nextcloud/nextcloudpi/commit/f28dcbc) (2017-11-25) nc-info: provide suggestions
|
||||
|
||||
[v0.37.4 ](https://github.com/nextcloud/nextcloudpi/commit/a2b7a7a) (2017-11-25) dnsmasq: improve output
|
||||
|
||||
|
||||
57
etc/nextcloudpi-config.d/nc-export-ncp.sh
Normal file
57
etc/nextcloudpi-config.d/nc-export-ncp.sh
Normal file
@ -0,0 +1,57 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Export NextCloudPi configuration
|
||||
#
|
||||
#
|
||||
# Copyleft 2017 by Courtney Hicks
|
||||
# GPL licensed (see end of file) * Use at your own risk!
|
||||
#
|
||||
|
||||
DIR_=/media/USBdrive/
|
||||
|
||||
DESCRIPTION="Export NextCloudPi configuration"
|
||||
|
||||
configure()
|
||||
{
|
||||
[[ -d "$DIR_" ]] || { echo "directory $DIR_ does not exist"; return 1; }
|
||||
|
||||
local DESTFILE="$DIR_"/ncp-config_$( date +"%Y%m%d" ).tar
|
||||
rm -rf /tmp/ncp-export
|
||||
mkdir -p /tmp/ncp-export
|
||||
cd /tmp/ncp-export || return 1
|
||||
|
||||
for file in /usr/local/etc/nextcloudpi-config.d/*; do
|
||||
VARS=( $( grep "^[[:alpha:]]\+_=" "$file" | cut -d= -f1 | sed 's|_$||' ) )
|
||||
VALS=( $( grep "^[[:alpha:]]\+_=" "$file" | cut -d= -f2 ) )
|
||||
local CONFIG=""
|
||||
for i in $( seq 0 1 $(( ${#VARS[@]} - 1 )) ); do
|
||||
CONFIG+="${VARS[$i]}=${VALS[$i]}\n"
|
||||
done
|
||||
echo -e "$CONFIG" > "$( basename "$file" .sh ).cfg"
|
||||
done
|
||||
|
||||
tar -cf "$DESTFILE" *
|
||||
|
||||
cd -
|
||||
rm -rf /tmp/ncp-export
|
||||
echo -e "configuration exported to $DESTFILE"
|
||||
}
|
||||
|
||||
install() { :; }
|
||||
|
||||
# License
|
||||
#
|
||||
# This script is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This script is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this script; if not, write to the
|
||||
# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
# Boston, MA 02111-1307 USA
|
||||
66
etc/nextcloudpi-config.d/nc-import-ncp.sh
Normal file
66
etc/nextcloudpi-config.d/nc-import-ncp.sh
Normal file
@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Import NextCloudPi configuration
|
||||
#
|
||||
#
|
||||
# Copyleft 2017 by Courtney Hicks
|
||||
# GPL licensed (see end of file) * Use at your own risk!
|
||||
#
|
||||
|
||||
FILE_=/media/USBdrive/ncp-config_xxxxxx.cfg
|
||||
|
||||
DESCRIPTION="Import NextCloudPi configuration from file"
|
||||
|
||||
configure()
|
||||
{
|
||||
[[ -f "$FILE_" ]] || { echo "export file $FILE_ does not exist"; return 1; }
|
||||
|
||||
source /usr/local/etc/library.sh || return 1
|
||||
cd /usr/local/etc/nextcloudpi-config.d || return 1
|
||||
|
||||
# extract export
|
||||
local TMP="/tmp/ncp-export"
|
||||
rm -rf "$TMP"
|
||||
mkdir -p "$TMP"
|
||||
tar -xf "$FILE_" -C "$TMP"
|
||||
|
||||
# restore configuration and activate
|
||||
for file in /"$TMP"/*; do
|
||||
local SCRIPT="$( basename "$file" .cfg ).sh"
|
||||
|
||||
# restore
|
||||
[ -f /usr/local/etc/nextcloudpi-config.d/"$SCRIPT" ] && {
|
||||
local VARS=( $( grep "^[[:alpha:]]\+=" "$file" | cut -d= -f1 ) )
|
||||
local VALS=( $( grep "^[[:alpha:]]\+=" "$file" | cut -d= -f2 ) )
|
||||
for i in $( seq 0 1 ${#VARS[@]} ); do
|
||||
sed -i "s|^${VARS[$i]}_=.*|${VARS[$i]}_=${VALS[$i]}|" "$SCRIPT"
|
||||
done
|
||||
}
|
||||
|
||||
# activate
|
||||
grep -q "^ACTIVE_=yes" "$SCRIPT" && echo && activate_script "$SCRIPT"
|
||||
done
|
||||
|
||||
# cleanup
|
||||
rm -rf "$TMP"
|
||||
echo -e "\nconfiguration restored"
|
||||
}
|
||||
|
||||
install() { :; }
|
||||
|
||||
# License
|
||||
#
|
||||
# This script is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This script is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this script; if not, write to the
|
||||
# Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
# Boston, MA 02111-1307 USA
|
||||
Loading…
x
Reference in New Issue
Block a user