Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/nextcloudpi.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authornachoparker <nacho@ownyourbits.com>2017-05-21 16:45:44 +0300
committernachoparker <nacho@ownyourbits.com>2017-05-23 17:47:36 +0300
commitf77b769f644df7764d7677fe5e9d2b2927dc1a7b (patch)
treecc4de34c4c3f19eeb2ec522b621c4fa5e2d8fc2a /etc
parent0909fce6d36022a59cbe8e68bd2c5239b5beec82 (diff)
add nc-backup and nc-restorev0.10.0
Diffstat (limited to 'etc')
-rwxr-xr-xetc/library.sh2
-rw-r--r--etc/nextcloudpi-config.d/nc-backup.sh64
-rw-r--r--etc/nextcloudpi-config.d/nc-restore.sh94
3 files changed, 159 insertions, 1 deletions
diff --git a/etc/library.sh b/etc/library.sh
index 76e4cc16..12ae1de6 100755
--- a/etc/library.sh
+++ b/etc/library.sh
@@ -222,7 +222,7 @@ function configure_script()
config $SCRIPT || return 0 # writes "$INSTALLATION_CODE"
echo -e "$INSTALLATION_CODE" > $SCRIPT # save configuration
source ./$SCRIPT # load configuration
- echo -e "Configuring \e[1m$( basename $SCRIPT .sh )\e[0m"
+ echo -e "Launching \e[1m$( basename $SCRIPT .sh )\e[0m"
set +x
configure
)
diff --git a/etc/nextcloudpi-config.d/nc-backup.sh b/etc/nextcloudpi-config.d/nc-backup.sh
new file mode 100644
index 00000000..a5934c10
--- /dev/null
+++ b/etc/nextcloudpi-config.d/nc-backup.sh
@@ -0,0 +1,64 @@
+#!/bin/bash
+# Nextcloud backups
+# Tested with 2017-03-02-raspbian-jessie-lite.img
+#
+# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
+# GPL licensed (see end of file) * Use at your own risk!
+#
+# Usage:
+#
+# ./installer.sh nc-backup <IP> (<img>)
+#
+# See installer.sh instructions for details
+#
+# More at https://ownyourbits.com/2017/02/13/nextcloud-ready-raspberry-pi-image/
+#
+
+
+# TODO maintenance mode
+
+DESTDIR_=/home/pi
+BASEDIR_=/var/www
+DBPASSWD_=ownyourbits
+
+DESTFILE=$DESTDIR_/nextcloud-bkp_`date +"%Y%m%d"`.tar
+DBBACKUP=nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
+
+configure()
+{
+ cd $BASEDIR_/nextcloud
+ sudo -u www-data php occ maintenance:mode --on
+
+ cd $BASEDIR_
+ echo -e "backup database..."
+ mysqldump -u root -p$DBPASSWD_ --single-transaction nextcloud > $DBBACKUP
+
+ echo -e "backup files..."
+ tar -cf $DESTFILE $DBBACKUP nextcloud/ || return 1 # TODO
+ echo -e "backup $DESTFILE generated"
+ rm $DBBACKUP
+
+ cd $BASEDIR_/nextcloud
+ sudo -u www-data php occ maintenance:mode --off
+}
+
+install() { :; }
+cleanup() { :; }
+
+# 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
+
diff --git a/etc/nextcloudpi-config.d/nc-restore.sh b/etc/nextcloudpi-config.d/nc-restore.sh
new file mode 100644
index 00000000..9c9a7b6d
--- /dev/null
+++ b/etc/nextcloudpi-config.d/nc-restore.sh
@@ -0,0 +1,94 @@
+#!/bin/bash
+
+#!/bin/bash
+# Nextcloud restore backup
+# Tested with 2017-03-02-raspbian-jessie-lite.img
+#
+# Copyleft 2017 by Ignacio Nunez Hernanz <nacho _a_t_ ownyourbits _d_o_t_ com>
+# GPL licensed (see end of file) * Use at your own risk!
+#
+# Usage:
+#
+# ./installer.sh nc-restore <IP> (<img>)
+#
+# See installer.sh instructions for details
+#
+# More at https://ownyourbits.com/2017/02/13/nextcloud-ready-raspberry-pi-image/
+#
+
+
+BACKUPFILE_=/home/pi/file.tar
+BASEDIR_=/var/www
+DBPASSWD_=ownyourbits
+DBADMIN_=ncadmin
+
+show_info()
+{
+ [ -d /var/www/nextcloud ] && \
+ whiptail --yesno \
+ --backtitle "NextCloudPi configuration" \
+ --title "Restore NextCloud backup" \
+"This new installation will cleanup current
+NextCloud instance, including files and database.
+
+** perform backup before proceding **
+
+You can use nc-backup " \
+ 20 90
+}
+
+configure()
+{
+ [ -f $BACKUPFILE_ ] || { echo -e "$BACKUPFILE_ not found"; return 1; }
+ [ -d $BASEDIR_ ] || { echo -e "$BASEDIR_ not found"; return 1; }
+ [ -d $BASEDIR_/nextcloud ] && { echo -e "WARNING: overwriting old instance"; }
+
+ service apache2 stop
+
+ # RESTORE FILES
+ echo -e "restore files..."
+ cd $BASEDIR_
+ rm -rf nextcloud
+ tar -xf $BACKUPFILE_ || return 1
+
+ # RE-CREATE DATABASE TABLE
+ echo -e "restore database..."
+ mysql -u root -p$DBPASSWD_ <<EOF
+DROP DATABASE IF EXISTS nextcloud;
+CREATE DATABASE nextcloud;
+GRANT USAGE ON *.* TO '$DBADMIN_'@'localhost' IDENTIFIED BY '$DBPASSWD_';
+DROP USER '$DBADMIN_'@'localhost';
+CREATE USER '$DBADMIN_'@'localhost' IDENTIFIED BY '$DBPASSWD_';
+GRANT ALL PRIVILEGES ON nextcloud.* TO $DBADMIN_@localhost;
+EXIT
+EOF
+ [ $? -ne 0 ] && { echo -e "error configuring nextcloud database"; return 1; }
+
+ mysql -u root -p$DBPASSWD_ nextcloud < nextcloud-sqlbkp_*.bak || { echo -e "error restoring nextcloud database"; return 1; }
+
+ cd $BASEDIR_/nextcloud
+ sudo -u www-data php occ maintenance:mode --off
+
+ service apache2 start
+}
+
+install() { :; }
+cleanup() { :; }
+
+# 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
+