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
diff options
context:
space:
mode:
authornachoparker <nacho@ownyourbits.com>2018-07-31 20:50:51 +0300
committernachoparker <nacho@ownyourbits.com>2018-09-23 16:51:03 +0300
commitf80ee23e064a74b19ce8f68ec7fed00007133574 (patch)
tree4d92dd91922d58f8b938ecb5aaaee365c4d16b59
parent3a1b974c8a45353f6b992bb55e07a4d9a0870232 (diff)
nc-restore: restore to volume in docker containerv0.60.1
-rw-r--r--changelog.md4
-rw-r--r--etc/ncp-config.d/nc-backup.sh10
-rw-r--r--etc/ncp-config.d/nc-restore.sh25
-rwxr-xr-xupdate.sh8
4 files changed, 30 insertions, 17 deletions
diff --git a/changelog.md b/changelog.md
index 1153f4e1..9b661521 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,7 @@
-[v0.60.0](https://github.com/nextcloud/nextcloudpi/commit/3930c82) (2018-09-22) add nc-previews
+[v0.60.1](https://github.com/nextcloud/nextcloudpi/commit/2b80190) (2018-07-31) nc-restore: restore to volume in docker container
+
+[v0.60.0, master](https://github.com/nextcloud/nextcloudpi/commit/e973397) (2018-09-22) add nc-previews
[v0.59.20](https://github.com/nextcloud/nextcloudpi/commit/4457485) (2018-09-21) autoupdate: log everything to ncp.log
diff --git a/etc/ncp-config.d/nc-backup.sh b/etc/ncp-config.d/nc-backup.sh
index e7b9f535..a67bf87e 100644
--- a/etc/ncp-config.d/nc-backup.sh
+++ b/etc/ncp-config.d/nc-backup.sh
@@ -34,8 +34,8 @@ DATADIR=$( $OCC config:system:get datadirectory ) || {
exit 1;
}
-cleanup(){ local RET=$?; rm -f "${DBBACKUP}" ; $OCC maintenance:mode --off; exit $RET; }
-fail() { local RET=$?; echo "Abort..." ; rm -f "${DBBACKUP}" "${DESTFILE}"; $OCC maintenance:mode --off; exit $RET; }
+cleanup(){ local RET=$?; rm -f "${DBBACKUP}" ;[[ -f /.docker-image ]] && mv /data/nextcloud /data/app; $OCC maintenance:mode --off; exit $RET; }
+fail() { local RET=$?; echo "Abort..." ; rm -f "${DBBACKUP}" "${DESTFILE}";[[ -f /.docker-image ]] && mv /data/nextcloud /data/app; $OCC maintenance:mode --off; exit $RET; }
trap cleanup EXIT
trap fail INT TERM HUP ERR
@@ -60,8 +60,10 @@ FREE=$( df "$DESTDIR" | tail -1 | awk '{ print $4 }' )
}
# database
-cd /var/www || exit 1
$OCC maintenance:mode --on
+[[ -f /.docker-image ]] && mv /data/app /data/nextcloud
+[[ -f /.docker-image ]] && BASEDIR=/data || BASEDIR=/var/www
+cd "$BASEDIR" || exit 1
echo "backup database..."
mysqldump -u root --single-transaction nextcloud > "$DBBACKUP"
@@ -73,7 +75,7 @@ tar --exclude "nextcloud/data/*/files/*" \
--exclude "nextcloud/data/{access,error,nextcloud}.log" \
--exclude "nextcloud/data/access.log" \
--exclude "nextcloud/data/ncp-update-backups/" \
- -cf "$DESTFILE" "$DBBACKUP" nextcloud/ \
+ -cf "$DESTFILE" "$DBBACKUP" "nextcloud"/ \
|| {
echo "error generating backup"
exit 1
diff --git a/etc/ncp-config.d/nc-restore.sh b/etc/ncp-config.d/nc-restore.sh
index 25910e46..ee1bd731 100644
--- a/etc/ncp-config.d/nc-restore.sh
+++ b/etc/ncp-config.d/nc-restore.sh
@@ -34,10 +34,11 @@ DBPASSWD="$( grep password /root/.my.cnf | sed 's|password=||' )"
DIR="$( cd "$( dirname "$BACKUPFILE" )" &>/dev/null && pwd )" #abspath
-[[ $# -eq 0 ]] && { echo "missing first argument" ; exit 1; }
-[[ -f "$BACKUPFILE" ]] || { echo "$BACKUPFILE not found" ; exit 1; }
-[[ "$DIR" =~ "/var/www/nextcloud" ]] && { echo "Refusing to restore from /var/www/nextcloud"; exit 1; }
-[[ -d /var/www/nextcloud ]] && { echo "INFO: overwriting old instance"; }
+[[ -f /.docker-image ]] && NCDIR=/data/app || NCDIR=/var/www/nextcloud
+
+[[ $# -eq 0 ]] && { echo "missing first argument" ; exit 1; }
+[[ -f "$BACKUPFILE" ]] || { echo "$BACKUPFILE not found" ; exit 1; }
+[[ "$DIR" =~ "$NCDIR" ]] && { echo "Refusing to restore from $NCDIR"; exit 1; }
TMPDIR="$( mktemp -d "$( dirname "$BACKUPFILE" )"/ncp-restore.XXXXXX )" || { echo "Failed to create temp dir" >&2; exit 1; }
TMPDIR="$( cd "$TMPDIR" &>/dev/null && pwd )" || { echo "$TMPDIR not found"; exit 1; } #abspath
@@ -66,8 +67,8 @@ tar -xf "$BACKUPFILE" -C "$TMPDIR" || exit 1
## RESTORE FILES
echo "restore files..."
-rm -rf /var/www/nextcloud
-mv "$TMPDIR"/nextcloud /var/www || { echo "Error restoring base files"; exit 1; }
+rm -rf "$NCDIR"
+mv -T "$TMPDIR"/nextcloud "$NCDIR" || { echo "Error restoring base files"; exit 1; }
# update NC database password to this instance
sed -i "s|'dbpassword' =>.*|'dbpassword' => '$DBPASSWD',|" /var/www/nextcloud/config/config.php
@@ -96,14 +97,14 @@ mysql -u root nextcloud < "$TMPDIR"/nextcloud-sqlbkp_*.bak || { echo "Error res
## RESTORE DATADIR
-cd /var/www/nextcloud
+cd "$NCDIR"
### INCLUDEDATA=yes situation
NUMFILES=$(( 2 + COMPRESSED ))
if [[ $( ls "$TMPDIR" | wc -l ) -eq $NUMFILES ]]; then
- DATADIR=$( grep datadirectory /var/www/nextcloud/config/config.php | awk '{ print $3 }' | grep -oP "[^']*[^']" | head -1 )
+ DATADIR=$( grep datadirectory "$NCDIR"/config/config.php | awk '{ print $3 }' | grep -oP "[^']*[^']" | head -1 )
[[ "$DATADIR" == "" ]] && { echo "Error reading data directory"; exit 1; }
echo "restore datadir to $DATADIR..."
@@ -129,7 +130,7 @@ if [[ $( ls "$TMPDIR" | wc -l ) -eq $NUMFILES ]]; then
else
echo "no datadir found in backup"
- DATADIR=/var/www/nextcloud/data
+ DATADIR="$NCDIR"/data
sudo -u www-data php occ maintenance:mode --off
sudo -u www-data php occ files:scan --all
@@ -149,8 +150,10 @@ sed -i "s|^;\?upload_tmp_dir =.*$|upload_tmp_dir = $DATADIR/tmp|" /etc/php/7.0/f
sed -i "s|^;\?sys_temp_dir =.*$|sys_temp_dir = $DATADIR/tmp|" /etc/php/7.0/fpm/php.ini
# update fail2ban logpath
-sed -i "s|logpath =.*|logpath = $DATADIR/nextcloud.log|" /etc/fail2ban/jail.conf
-pgrep fail2ban &>/dev/null && service fail2ban restart
+[[ ! -f /.docker-image ]] && {
+ sed -i "s|logpath =.*|logpath = $DATADIR/nextcloud.log|" /etc/fail2ban/jail.conf
+ pgrep fail2ban &>/dev/null && service fail2ban restart
+}
# refresh nextcloud trusted domains
bash /usr/local/bin/nextcloud-domain.sh
diff --git a/update.sh b/update.sh
index dc9aad81..c544bf42 100755
--- a/update.sh
+++ b/update.sh
@@ -167,9 +167,15 @@ EOF
sudo -u www-data php /var/www/nextcloud/occ config:system:set mail_smtpmode --value="sendmail"
}
+ # update nc-restore
+ cd "$CONFDIR" &>/dev/null
+ install_script nc-backup.sh
+ install_script nc-restore.sh
+ cd - &>/dev/null
+
+ # install preview generator
sudo -u www-data php /var/www/nextcloud/occ app:install previewgenerator
sudo -u www-data php /var/www/nextcloud/occ app:enable previewgenerator
-
} # end - only live updates
exit 0