Skip to content

Commit

Permalink
added nc-export-ncp and nc-import-ncp
Browse files Browse the repository at this point in the history
  • Loading branch information
nachoparker committed Nov 27, 2017
1 parent 6c7cd4b commit f8b328e
Show file tree
Hide file tree
Showing 3 changed files with 130 additions and 1 deletion.
8 changes: 7 additions & 1 deletion changelog.md
Original file line number Diff line number Diff line change
@@ -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

Expand Down
57 changes: 57 additions & 0 deletions etc/nextcloudpi-config.d/nc-export-ncp.sh
Original file line number Diff line number Diff line change
@@ -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 changes: 66 additions & 0 deletions etc/nextcloudpi-config.d/nc-import-ncp.sh
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit f8b328e

Please sign in to comment.