]> git.p6c8.net - nextcloud-backup-restore.git/blobdiff - NextcloudBackup.sh
Use pigz for compression
[nextcloud-backup-restore.git] / NextcloudBackup.sh
index 0b03af13afe5deaf85510261289b47392cf9ab9a..3e0d2a5df099298278ad8b6c629fda9c10f14e34 100644 (file)
@@ -3,7 +3,7 @@
 #
 # Bash script for creating backups of Nextcloud.
 #
 #
 # Bash script for creating backups of Nextcloud.
 #
-# Version 2.1.0
+# Version 2.1.2
 #
 # Usage:
 #      - With backup directory specified in the script:  ./NextcloudBackup.sh
 #
 # Usage:
 #      - With backup directory specified in the script:  ./NextcloudBackup.sh
@@ -24,6 +24,8 @@ backupMainDir=$1
 if [ -z "$backupMainDir" ]; then
        # TODO: The directory where you store the Nextcloud backups (when not specified by args)
     backupMainDir='/media/hdd/nextcloud_backup'
 if [ -z "$backupMainDir" ]; then
        # TODO: The directory where you store the Nextcloud backups (when not specified by args)
     backupMainDir='/media/hdd/nextcloud_backup'
+else
+       backupMainDir=$(echo $backupMainDir | sed 's:/*$::')
 fi
 
 currentDate=$(date +"%Y%m%d_%H%M%S")
 fi
 
 currentDate=$(date +"%Y%m%d_%H%M%S")
@@ -31,7 +33,7 @@ currentDate=$(date +"%Y%m%d_%H%M%S")
 # The actual directory of the current backup - this is a subdirectory of the main directory above with a timestamp
 backupdir="${backupMainDir}/${currentDate}/"
 
 # The actual directory of the current backup - this is a subdirectory of the main directory above with a timestamp
 backupdir="${backupMainDir}/${currentDate}/"
 
-# TODO: Use compression for Matrix Synapse installation/lib dir
+# TODO: Use compression for file/data dir
 # When this is the only script for backups, it's recommend to enable compression.
 # If the output of this script is used in another (compressing) backup (e.g. borg backup), 
 # you should probably disable compression here and only enable compression of your main backup script.
 # When this is the only script for backups, it's recommend to enable compression.
 # If the output of this script is used in another (compressing) backup (e.g. borg backup), 
 # you should probably disable compression here and only enable compression of your main backup script.
@@ -171,7 +173,7 @@ echo
 echo "Creating backup of Nextcloud file directory..."
 
 if [ "$useCompression" = true ] ; then
 echo "Creating backup of Nextcloud file directory..."
 
 if [ "$useCompression" = true ] ; then
-       tar -cpzf "${backupdir}/${fileNameBackupFileDir}" -C "${nextcloudFileDir}" .
+       tar -I pigz -cpf "${backupdir}/${fileNameBackupFileDir}" -C "${nextcloudFileDir}" .
 else
        tar -cpf "${backupdir}/${fileNameBackupFileDir}" -C "${nextcloudFileDir}" .
 fi
 else
        tar -cpf "${backupdir}/${fileNameBackupFileDir}" -C "${nextcloudFileDir}" .
 fi
@@ -188,13 +190,13 @@ if [ "$ignoreUpdaterBackups" = true ] ; then
        echo "Ignoring updater backup directory"
 
        if [ "$useCompression" = true ] ; then
        echo "Ignoring updater backup directory"
 
        if [ "$useCompression" = true ] ; then
-               tar -cpzf "${backupdir}/${fileNameBackupDataDir}"  --exclude="updater-*/backups/*" -C "${nextcloudDataDir}" .
+               tar -I pigz -cpf "${backupdir}/${fileNameBackupDataDir}"  --exclude="updater-*/backups/*" -C "${nextcloudDataDir}" .
        else
                tar -cpf "${backupdir}/${fileNameBackupDataDir}"  --exclude="updater-*/backups/*" -C "${nextcloudDataDir}" .
        fi
 else
        if [ "$useCompression" = true ] ; then
        else
                tar -cpf "${backupdir}/${fileNameBackupDataDir}"  --exclude="updater-*/backups/*" -C "${nextcloudDataDir}" .
        fi
 else
        if [ "$useCompression" = true ] ; then
-        tar -cpzf "${backupdir}/${fileNameBackupDataDir}"  -C "${nextcloudDataDir}" .
+        tar -I pigz -cpf "${backupdir}/${fileNameBackupDataDir}"  -C "${nextcloudDataDir}" .
        else
                tar -cpf "${backupdir}/${fileNameBackupDataDir}"  -C "${nextcloudDataDir}" .
        fi
        else
                tar -cpf "${backupdir}/${fileNameBackupDataDir}"  -C "${nextcloudDataDir}" .
        fi
@@ -206,8 +208,9 @@ echo
 # Backup local external storage.
 # Uncomment if you use local external storage
 #echo "Creating backup of Nextcloud local external storage directory..."
 # Backup local external storage.
 # Uncomment if you use local external storage
 #echo "Creating backup of Nextcloud local external storage directory..."
+
 #if [ "$useCompression" = true ] ; then
 #if [ "$useCompression" = true ] ; then
-#      tar -cpzf "${backupdir}/${fileNameBackupExternalDataDir}"  -C "${nextcloudLocalExternalDataDir}" .
+#      tar -I pigz -cpf "${backupdir}/${fileNameBackupExternalDataDir}"  -C "${nextcloudLocalExternalDataDir}" .
 #else
 #      tar -cpf "${backupdir}/${fileNameBackupExternalDataDir}"  -C "${nextcloudLocalExternalDataDir}" .
 #fi
 #else
 #      tar -cpf "${backupdir}/${fileNameBackupExternalDataDir}"  -C "${nextcloudLocalExternalDataDir}" .
 #fi
@@ -264,7 +267,7 @@ if [ ${maxNrOfBackups} != 0 ]
 then
        nrOfBackups=$(ls -l ${backupMainDir} | grep -c ^d)
 
 then
        nrOfBackups=$(ls -l ${backupMainDir} | grep -c ^d)
 
-       if [[ ${nrOfBackups} > ${maxNrOfBackups} ]]
+       if [ ${nrOfBackups} -gt ${maxNrOfBackups} ]
        then
                echo "Removing old backups..."
                ls -t ${backupMainDir} | tail -$(( nrOfBackups - maxNrOfBackups )) | while read -r dirToRemove; do
        then
                echo "Removing old backups..."
                ls -t ${backupMainDir} | tail -$(( nrOfBackups - maxNrOfBackups )) | while read -r dirToRemove; do

patrick-canterino.de