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>2021-10-15 19:15:51 +0300
committernachoparker <nacho@ownyourbits.com>2021-10-18 17:01:48 +0300
commit0a866caca4526983dc6f355f19e6434f76d674e3 (patch)
tree67a82df12e2cd37db83245a5636e05b70f3212c5
parent80575ae84902790344b11f9c8a75647dc2a71d5e (diff)
save and restore maintenance mode status in ncp-appsv1.41.4
Signed-off-by: nachoparker <nacho@ownyourbits.com>
-rwxr-xr-xbin/ncp-dist-upgrade4
-rw-r--r--bin/ncp/BACKUPS/nc-backup-auto.sh4
-rw-r--r--bin/ncp/BACKUPS/nc-backup.sh7
-rw-r--r--bin/ncp/BACKUPS/nc-restore-snapshot.sh4
-rw-r--r--bin/ncp/BACKUPS/nc-rsync.sh4
-rw-r--r--bin/ncp/BACKUPS/nc-snapshot.sh4
-rw-r--r--bin/ncp/CONFIG/nc-database.sh4
-rw-r--r--bin/ncp/CONFIG/nc-datadir.sh4
-rw-r--r--etc/library.sh16
-rw-r--r--updates/1.42.0.sh3
10 files changed, 37 insertions, 17 deletions
diff --git a/bin/ncp-dist-upgrade b/bin/ncp-dist-upgrade
index 71b174b9..9a5e7efe 100755
--- a/bin/ncp-dist-upgrade
+++ b/bin/ncp-dist-upgrade
@@ -29,7 +29,7 @@ old_cfg="${NCPCFG}"
trap "echo 'Something went wrong. Fix it and try again'" EXIT
-ncc maintenance:mode --on || true
+save_maintenance_mode
apt-get update
apt-get upgrade -y
@@ -115,7 +115,7 @@ is_active_app unattended-upgrades && run_app unattended-upgrades || true
mv "${new_cfg}" "${old_cfg}"
run_app nc-limits
-ncc maintenance:mode --off || true
+restore_maintenance_mode
rm -f /etc/update-motd.d/30ncp-dist-upgrade
diff --git a/bin/ncp/BACKUPS/nc-backup-auto.sh b/bin/ncp/BACKUPS/nc-backup-auto.sh
index 1e05f122..40c85fa4 100644
--- a/bin/ncp/BACKUPS/nc-backup-auto.sh
+++ b/bin/ncp/BACKUPS/nc-backup-auto.sh
@@ -29,9 +29,9 @@ run_script()
}
run_script before
-/usr/local/bin/ncc maintenance:mode --on
+save_maintenance_mode
/usr/local/bin/ncp-backup "$DESTDIR" "$INCLUDEDATA" "$COMPRESS" "$BACKUPLIMIT" || failed="\$failed\${failed:+, } main"
-/usr/local/bin/ncc maintenance:mode --off
+restore_maintenance_mode
run_script after
if [[ -n "\$failed" ]]
then
diff --git a/bin/ncp/BACKUPS/nc-backup.sh b/bin/ncp/BACKUPS/nc-backup.sh
index 03ee65be..b754d019 100644
--- a/bin/ncp/BACKUPS/nc-backup.sh
+++ b/bin/ncp/BACKUPS/nc-backup.sh
@@ -15,6 +15,7 @@ install()
cat > /usr/local/bin/ncp-backup <<'EOF'
#!/bin/bash
set -eE
+source /usr/local/etc/library.sh
destdir="${1:-/media/USBdrive/ncp-backups}"
includedata="${2:-no}"
@@ -33,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}" ; restore_maintenance_mode; exit $ret; }
+fail() { local ret=$?; echo "Abort..." ; rm -f "${dbbackup}" "${destfile}"; restore_maintenance_mode; exit $ret; }
trap cleanup EXIT
trap fail INT TERM HUP ERR
@@ -68,7 +69,7 @@ free=$( df -B1 "$destdir" | tail -1 | awk '{ print $4 }' )
}
# database
-$occ maintenance:mode --on
+save_maintenance_mode
cd "$basedir" || exit 1
echo "backup database..."
mysqldump -u root --single-transaction nextcloud > "$dbbackup"
diff --git a/bin/ncp/BACKUPS/nc-restore-snapshot.sh b/bin/ncp/BACKUPS/nc-restore-snapshot.sh
index efb753e8..e10bc148 100644
--- a/bin/ncp/BACKUPS/nc-restore-snapshot.sh
+++ b/bin/ncp/BACKUPS/nc-restore-snapshot.sh
@@ -36,10 +36,10 @@ configure()
btrfs-snp $mountpoint autobackup 0 0 ../ncp-snapshots || return 1
- ncc maintenance:mode --on
+ save_maintenance_mode
btrfs subvolume delete "$datadir" || return 1
btrfs subvolume snapshot "$SNAPSHOT" "$datadir"
- ncc maintenance:mode --off
+ restore_maintenance_mode
ncp-scan
echo "snapshot $SNAPSHOT restored"
diff --git a/bin/ncp/BACKUPS/nc-rsync.sh b/bin/ncp/BACKUPS/nc-rsync.sh
index 6756f2d0..f92de08e 100644
--- a/bin/ncp/BACKUPS/nc-rsync.sh
+++ b/bin/ncp/BACKUPS/nc-rsync.sh
@@ -18,7 +18,7 @@ install()
configure()
{
- sudo -u www-data php "$BASEDIR"/nextcloud/occ maintenance:mode --on
+ save_maintenance_mode
local DATADIR
DATADIR=$( sudo -u www-data php /var/www/nextcloud/occ config:system:get datadirectory ) || {
@@ -28,7 +28,7 @@ configure()
rsync -ax -e "ssh -p $PORTNUMBER" --delete "$DATADIR" "$DESTINATION"
- sudo -u www-data php "$BASEDIR"/nextcloud/occ maintenance:mode --off
+ restore_maintenance_mode
}
# License
diff --git a/bin/ncp/BACKUPS/nc-snapshot.sh b/bin/ncp/BACKUPS/nc-snapshot.sh
index 19699144..34dc594d 100644
--- a/bin/ncp/BACKUPS/nc-snapshot.sh
+++ b/bin/ncp/BACKUPS/nc-snapshot.sh
@@ -17,7 +17,7 @@ install()
configure()
{
- ncc maintenance:mode --on
+ save_maintenance_mode
local DATADIR MOUNTPOINT
DATADIR=$( ncc config:system:get datadirectory ) || {
@@ -34,7 +34,7 @@ configure()
btrfs-snp $MOUNTPOINT manual $LIMIT 0 ../ncp-snapshots
- ncc maintenance:mode --off
+ restore_maintenance_mode
}
# License
diff --git a/bin/ncp/CONFIG/nc-database.sh b/bin/ncp/CONFIG/nc-database.sh
index c0b0261f..f7c150d0 100644
--- a/bin/ncp/CONFIG/nc-database.sh
+++ b/bin/ncp/CONFIG/nc-database.sh
@@ -39,7 +39,7 @@ configure()
echo -e "INFO: moving database to the SD card\nIf you want to use an external mount, make sure it is properly set up"
cd /var/www/nextcloud
- sudo -u www-data php occ maintenance:mode --on
+ save_maintenance_mode
echo "moving database to $DBDIR..."
service mysql stop
@@ -47,7 +47,7 @@ configure()
sed -i "s|^datadir.*|datadir = $DBDIR|" /etc/mysql/mariadb.conf.d/90-ncp.cnf
service mysql start
- sudo -u www-data php occ maintenance:mode --off
+ restore_maintenance_mode
}
install(){ :; }
diff --git a/bin/ncp/CONFIG/nc-datadir.sh b/bin/ncp/CONFIG/nc-datadir.sh
index f44fa8d7..f99fdcfd 100644
--- a/bin/ncp/CONFIG/nc-datadir.sh
+++ b/bin/ncp/CONFIG/nc-datadir.sh
@@ -64,7 +64,7 @@ configure()
## COPY
cd /var/www/nextcloud
- ncc maintenance:mode --on
+ save_maintenance_mode
echo "moving data directory from $SRCDIR to $DATADIR..."
@@ -100,7 +100,7 @@ configure()
# datadir
ncc config:system:set datadirectory --value="$DATADIR"
ncc config:system:set logfile --value="$DATADIR/nextcloud.log"
- ncc maintenance:mode --off
+ restore_maintenance_mode
}
# License
diff --git a/etc/library.sh b/etc/library.sh
index a9215467..28867633 100644
--- a/etc/library.sh
+++ b/etc/library.sh
@@ -463,6 +463,22 @@ function notify_admin()
ncc notification:generate "${admin}" "${header}" -l "${msg}" || true
}
+function save_maintenance_mode()
+{
+ unset NCP_MAINTENANCE_MODE
+ grep -q enabled <(ncc maintenance:mode) && export NCP_MAINTENANCE_MODE="on" || true
+ ncc maintenance:mode --on
+}
+
+function restore_maintenance_mode()
+{
+ if [[ "${NCP_MAINTENANCE_MODE}" != "" ]]; then
+ ncc maintenance:mode --on
+ else
+ ncc maintenance:mode --off
+ fi
+}
+
# License
#
# This script is free software; you can redistribute it and/or modify it
diff --git a/updates/1.42.0.sh b/updates/1.42.0.sh
index 8fd474de..74e1b34b 100644
--- a/updates/1.42.0.sh
+++ b/updates/1.42.0.sh
@@ -12,6 +12,9 @@ source /usr/local/etc/library.sh # sets NCLATESTVER PHPVER RELEASE
ncc app:disable updatenotification
run_app nc-notify-updates
+# update nc-backup
+install_app nc-backup
+
# docker images only
[[ -f /.docker-image ]] && {
: