X-Git-Url: https://git.p6c8.net/nextcloud-backup-restore.git/blobdiff_plain/1d14261e98a5f4cfd47dd5d7d445a5e5706dd419..de92b58bf86c668baffda79a6be44ac26d1b0e36:/NextcloudRestore.sh diff --git a/NextcloudRestore.sh b/NextcloudRestore.sh index 90ec545..ee6d44f 100644 --- a/NextcloudRestore.sh +++ b/NextcloudRestore.sh @@ -3,7 +3,7 @@ # # Bash script for restoring backups of Nextcloud. # -# Version 2.0.0 +# Version 2.1.2 # # Usage: # - With backup directory specified in the script: ./NextcloudRestore.sh (e.g. ./NextcloudRestore.sh 20170910_132703) @@ -29,6 +29,9 @@ fi echo "Backup directory: $backupMainDir" +# TODO: Set this to true, if the backup was created with compression enabled, otherwiese false. +useCompression=true + currentRestoreDir="${backupMainDir}/${restore}" # TODO: The directory of your Nextcloud installation (this is a directory under your web root) @@ -62,11 +65,20 @@ dbPassword='mYpAsSw0rd' # File names for backup files # If you prefer other file names, you'll also have to change the NextcloudBackup.sh script. -fileNameBackupFileDir='nextcloud-filedir.tar.gz' -fileNameBackupDataDir='nextcloud-datadir.tar.gz' +fileNameBackupFileDir='nextcloud-filedir.tar' +fileNameBackupDataDir='nextcloud-datadir.tar' + +if [ "$useCompression" = true ] ; then + fileNameBackupFileDir='nextcloud-filedir.tar.gz' + fileNameBackupDataDir='nextcloud-datadir.tar.gz' +fi # TODO: Uncomment if you use local external storage -#fileNameBackupExternalDataDir='nextcloud-external-datadir.tar.gz' +#fileNameBackupExternalDataDir='nextcloud-external-datadir.tar' +# +#if [ "$useCompression" = true ] ; then +# fileNameBackupExternalDataDir='nextcloud-external-datadir.tar.gz' +#fi fileNameBackupDb='nextcloud-db.sql' @@ -168,20 +180,38 @@ echo # File directory echo "Restoring Nextcloud file directory..." -tar -xmpzf "${currentRestoreDir}/${fileNameBackupFileDir}" -C "${nextcloudFileDir}" + +if [ "$useCompression" = true ] ; then + tar -I pigz -xmpf "${currentRestoreDir}/${fileNameBackupFileDir}" -C "${nextcloudFileDir}" +else + tar -xmpf "${currentRestoreDir}/${fileNameBackupFileDir}" -C "${nextcloudFileDir}" +fi + echo "Done" echo # Data directory echo "Restoring Nextcloud data directory..." -tar -xmpzf "${currentRestoreDir}/${fileNameBackupDataDir}" -C "${nextcloudDataDir}" + +if [ "$useCompression" = true ] ; then + tar -I pigz -xmpf "${currentRestoreDir}/${fileNameBackupDataDir}" -C "${nextcloudDataDir}" +else + tar -xmpf "${currentRestoreDir}/${fileNameBackupDataDir}" -C "${nextcloudDataDir}" +fi + echo "Done" echo # Local external storage # TODO: Uncomment if you use local external storage #echo "Restoring Nextcloud data directory..." -#tar -xmpzf "${currentRestoreDir}/${fileNameBackupExternalDataDir}" -C "${nextcloudLocalExternalDataDir}" +# +#if [ "$useCompression" = true ] ; then +# tar -I pigz -xmpf "${currentRestoreDir}/${fileNameBackupExternalDataDir}" -C "${nextcloudLocalExternalDataDir}" +#else +# tar -xmpf "${currentRestoreDir}/${fileNameBackupExternalDataDir}" -C "${nextcloudLocalExternalDataDir}" +#fi +# #echo "Done" #echo @@ -207,7 +237,7 @@ if [ "${databaseSystem,,}" = "mysql" ] || [ "${databaseSystem,,}" = "mariadb" ]; # TODO: Use this if the database from the backup DOES NOT use UTF8 with multibyte support (e.g. for emoijs in filenames): #mysql -h localhost -u "${dbUser}" -p"${dbPassword}" -e "CREATE DATABASE ${nextcloudDatabase}" elif [ "${databaseSystem,,}" = "postgresql" ] || [ "${databaseSystem,,}" = "pgsql" ]; then - sudo -u postgres psql -c "CREATE DATABASE ${nextcloudDatabase} WITH OWNER ${dbUser} TEMPLATE template0 ENCODING \"UTF8\";" + sudo -u postgres psql -c "CREATE DATABASE ${nextcloudDatabase} WITH OWNER ${dbUser} TEMPLATE template0 ENCODING \"UNICODE\";" fi echo "Done"