X-Git-Url: https://git.p6c8.net/nextcloud-backup-restore.git/blobdiff_plain/6ed4a0be99136ad44ef61fcfc8c647f1e7dd2d03..0caeb0ccee34197c82e37f7a48c843e991c5118e:/NextcloudRestore.sh diff --git a/NextcloudRestore.sh b/NextcloudRestore.sh index fcb6589..8fb38c2 100644 --- a/NextcloudRestore.sh +++ b/NextcloudRestore.sh @@ -3,7 +3,7 @@ # # Bash script for restoring backups of Nextcloud. # -# Version 2.1.3 +# Version 2.2.0 # # Usage: # - With backup directory specified in the script: ./NextcloudRestore.sh (e.g. ./NextcloudRestore.sh 20170910_132703) @@ -63,6 +63,9 @@ dbUser='nextcloud_db_user' # TODO: The password of the Nextcloud database user dbPassword='mYpAsSw0rd' +# TODO: Uncomment this and set to true if the database from the backup DOES NOT use UTF8 with multibyte support (e.g. for emoijs in filenames) +#dbNoMultibyte=true + # 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' @@ -208,7 +211,7 @@ echo # Local external storage if [ ! -z "${nextcloudLocalExternalDataDir+x}" ] ; then - echo "$(date +"%H:%M:%S"): Restoring Nextcloud data directory..." + echo "$(date +"%H:%M:%S"): Restoring Nextcloud local external storage directory..." if [ "$useCompression" = true ] ; then tar -I pigz -xmpf "${currentRestoreDir}/${fileNameBackupExternalDataDir}" -C "${nextcloudLocalExternalDataDir}" @@ -237,10 +240,13 @@ echo echo "$(date +"%H:%M:%S"): Creating new DB for Nextcloud..." if [ "${databaseSystem,,}" = "mysql" ] || [ "${databaseSystem,,}" = "mariadb" ]; then - # Use this if the databse from the backup uses UTF8 with multibyte support (e.g. for emoijs in filenames): - mysql -h localhost -u "${dbUser}" -p"${dbPassword}" -e "CREATE DATABASE ${nextcloudDatabase} CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" - # 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}" + if [ ! -z "${dbNoMultibyte+x}" ] && [ "${dbNoMultibyte}" = true ] ; then + # 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}" + else + # Database from the backup uses UTF8 with multibyte support (e.g. for emoijs in filenames) + mysql -h localhost -u "${dbUser}" -p"${dbPassword}" -e "CREATE DATABASE ${nextcloudDatabase} CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" + fi elif [ "${databaseSystem,,}" = "postgresql" ] || [ "${databaseSystem,,}" = "pgsql" ]; then sudo -u postgres psql -c "CREATE DATABASE ${nextcloudDatabase} WITH OWNER ${dbUser} TEMPLATE template0 ENCODING \"UNICODE\";" fi