]> git.p6c8.net - nextcloud-backup-restore.git/blobdiff - setup.sh
Update fingerprint after disabling maintenance mode
[nextcloud-backup-restore.git] / setup.sh
old mode 100644 (file)
new mode 100755 (executable)
index 9af4338..2f384ba
--- a/setup.sh
+++ b/setup.sh
@@ -3,7 +3,7 @@
 #
 # Bash script an easy setup of NextcloudBackup.sh and NextcloudRestore.sh
 #
 #
 # Bash script an easy setup of NextcloudBackup.sh and NextcloudRestore.sh
 #
-# Version 2.0.0
+# Version 2.3.3
 #
 # Usage:
 #      - call the setup.sh script
 #
 # Usage:
 #      - call the setup.sh script
 # However, you should always check the backup/restore scripts BEFORE executing these!
 #
 
 # However, you should always check the backup/restore scripts BEFORE executing these!
 #
 
+# Make sure the script exits when any command fails
+set -Eeuo pipefail
+
 #
 # Pre defined variables
 #
 backupMainDir='/media/hdd/nextcloud_backup'
 nextcloudFileDir='/var/www/nextcloud'
 webserverUser='www-data'
 #
 # Pre defined variables
 #
 backupMainDir='/media/hdd/nextcloud_backup'
 nextcloudFileDir='/var/www/nextcloud'
 webserverUser='www-data'
+webserverServiceName='nginx'
 
 #
 # Gather information
 #
 
 #
 # Gather information
 #
-read -p "In which directory the backups should be saved (default: ${backupMainDir}). Enter a directory or press ENTER if the backup directory should be ${backupMainDir}: " BACKUPMAINDIR
+clear
+
+echo "Enter the directory to which the backups should be saved."
+echo "Default: ${backupMainDir}"
+echo ""
+read -p "Enter a directory or press ENTER if the backup directory should be ${backupMainDir}: " BACKUPMAINDIR
 
 [ -z "$BACKUPMAINDIR" ] ||  backupMainDir=$BACKUPMAINDIR
 
 [ -z "$BACKUPMAINDIR" ] ||  backupMainDir=$BACKUPMAINDIR
+clear
 
 
-read -p "Enter the path to the Nextcloud file directory (usually ${nextcloudFileDir}). Enter a directory or press ENTER if the file directory is ${nextcloudFileDir}: " NEXTCLOUDFILEDIRECTORY
+echo "Enter the path to the Nextcloud file directory."
+echo "Usually: ${nextcloudFileDir}"
+echo ""
+read -p "Enter a directory or press ENTER if the file directory is ${nextcloudFileDir}: " NEXTCLOUDFILEDIRECTORY
 
 [ -z "$NEXTCLOUDFILEDIRECTORY" ] ||  nextcloudFileDir=$NEXTCLOUDFILEDIRECTORY
 
 [ -z "$NEXTCLOUDFILEDIRECTORY" ] ||  nextcloudFileDir=$NEXTCLOUDFILEDIRECTORY
+clear
 
 
-read -p "Enter the webserver user (usually ${webserverUser}). Enter an new user or press ENTER if the webserver user is ${webserverUser}: " WEBSERVERUSER
+echo "Enter the webserver user."
+echo "Usually: ${webserverUser}"
+echo ""
+read -p "Enter an new user or press ENTER if the webserver user is ${webserverUser}: " WEBSERVERUSER
 
 [ -z "$WEBSERVERUSER" ] ||  webserverUser=$WEBSERVERUSER
 
 [ -z "$WEBSERVERUSER" ] ||  webserverUser=$WEBSERVERUSER
+clear
 
 
+echo "Enter the webserver service name."
+echo "Usually: nginx or apache2"
 echo ""
 echo ""
-echo ""
+read -p "Enter an new webserver service name or press ENTER if the webserver service name is ${webserverServiceName}: " WEBSERVERSERVICENAME
+
+[ -z "$WEBSERVERSERVICENAME" ] ||  webserverServiceName=$WEBSERVERSERVICENAME
+clear
+
 echo "Backup directory: ${backupMainDir}"
 echo "Nextcloud file directory: ${nextcloudFileDir}"
 echo "Webserver user: ${webserverUser}"
 echo "Backup directory: ${backupMainDir}"
 echo "Nextcloud file directory: ${nextcloudFileDir}"
 echo "Webserver user: ${webserverUser}"
+echo "Webserver service name: ${webserverServiceName}"
 echo ""
 read -p "Is the information correct? [y/N] " CORRECTINFO
 
 echo ""
 read -p "Is the information correct? [y/N] " CORRECTINFO
 
@@ -64,7 +89,7 @@ occ_get datadirectory
 
 if [ $? -ne 0 ]; then
     echo "Error calling OCC: Please check if the information provided was correct."
 
 if [ $? -ne 0 ]; then
     echo "Error calling OCC: Please check if the information provided was correct."
-       echo "ABORTING!"
+    echo "ABORTING!"
        echo "No file has been altered."
        exit 1
 fi
        echo "No file has been altered."
        exit 1
 fi
@@ -79,8 +104,8 @@ echo "Modifying NextcloudBackup.sh and NextcloudRestore.sh to match your install
 echo ""
 
 # Backup main dir
 echo ""
 
 # Backup main dir
-sed -i "s@^    backupMainDir.*@    backupMainDir='$backupMainDir'@" ./NextcloudBackup.sh
-sed -i "s@^    backupMainDir.*@    backupMainDir='$backupMainDir'@" ./NextcloudRestore.sh
+sed -i "s@^\tbackupMainDir='/media/hdd/nextcloud_backup'@\tbackupMainDir='$backupMainDir'@" ./NextcloudBackup.sh
+sed -i "s@^\tbackupMainDir='/media/hdd/nextcloud_backup'@\tbackupMainDir='$backupMainDir'@" ./NextcloudRestore.sh
 
 # Nextcloud file dir
 sed -i "s@^nextcloudFileDir.*@nextcloudFileDir='$nextcloudFileDir'@" ./NextcloudBackup.sh
 
 # Nextcloud file dir
 sed -i "s@^nextcloudFileDir.*@nextcloudFileDir='$nextcloudFileDir'@" ./NextcloudBackup.sh
@@ -93,6 +118,8 @@ sed -i "s@^nextcloudDataDir=.*@nextcloudDataDir='$nextcloudDataDir'@" ./Nextclou
 sed -i "s@^nextcloudDataDir=.*@nextcloudDataDir='$nextcloudDataDir'@" ./NextcloudRestore.sh
 
 # Webserver service name
 sed -i "s@^nextcloudDataDir=.*@nextcloudDataDir='$nextcloudDataDir'@" ./NextcloudRestore.sh
 
 # Webserver service name
+sed -i "s/^webserverServiceName.*/webserverServiceName='$webserverServiceName'/" ./NextcloudBackup.sh
+sed -i "s/^webserverServiceName.*/webserverServiceName='$webserverServiceName'/" ./NextcloudRestore.sh
 
 # Webserver user
 sed -i "s/^webserverUser.*/webserverUser='$webserverUser'/" ./NextcloudBackup.sh
 
 # Webserver user
 sed -i "s/^webserverUser.*/webserverUser='$webserverUser'/" ./NextcloudBackup.sh
@@ -101,6 +128,11 @@ sed -i "s/^webserverUser.*/webserverUser='$webserverUser'/" ./NextcloudRestore.s
 # Database system
 databaseSystem=$(occ_get dbtype)
 
 # Database system
 databaseSystem=$(occ_get dbtype)
 
+# PostgreSQL is identified as pgsql
+if [ "${databaseSystem,,}" = "pgsql" ]; then 
+  databaseSystem='postgresql'; 
+fi
+
 sed -i "s/^databaseSystem.*/databaseSystem='$databaseSystem'/" ./NextcloudBackup.sh
 sed -i "s/^databaseSystem.*/databaseSystem='$databaseSystem'/" ./NextcloudRestore.sh
 
 sed -i "s/^databaseSystem.*/databaseSystem='$databaseSystem'/" ./NextcloudBackup.sh
 sed -i "s/^databaseSystem.*/databaseSystem='$databaseSystem'/" ./NextcloudRestore.sh
 
@@ -128,4 +160,6 @@ echo ""
 echo ""
 echo "IMPORTANT: Please check NextcloudBackup.sh and NextcloudRestore.sh if all variables were set correctly BEFORE running these scripts!"
 echo ""
 echo ""
 echo "IMPORTANT: Please check NextcloudBackup.sh and NextcloudRestore.sh if all variables were set correctly BEFORE running these scripts!"
 echo ""
+echo "When using pigz compression, you also have to install pigz (e.g. for Debian/Ubuntu: apt install pigz)"
+echo ""
 echo ""
\ No newline at end of file
 echo ""
\ No newline at end of file

patrick-canterino.de