#
# Bash script for creating backups of Nextcloud.
#
-# Version 1.0.0
+# Version 1.1.0
#
# Usage:
# - With backup directory specified in the script: ./NextcloudBackup.sh
backupMainDir='/media/hdd/nextcloud_backup'
fi
-echo "Backup directory: $backupMainDir"
-
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
# TODO: The maximum number of backups to keep (when set to 0, all backups are kept)
maxNrOfBackups=0
+# TODO: Ignore updater's backup directory in the data directory to safe space
+# Set to true to ignore the backup directory
+ignoreUpdaterBackups=false
+
# File names for backup files
# If you prefer other file names, you'll also have to change the NextcloudRestore.sh script.
fileNameBackupFileDir='nextcloud-filedir.tar.gz'
fileNameBackupDataDir='nextcloud-datadir.tar.gz'
-# TOOD: Uncomment if you use local external storage
+# TODO: Uncomment if you use local external storage
#fileNameBackupExternalDataDir='nextcloud-external-datadir.tar.gz'
fileNameBackupDb='nextcloud-db.sql'
exit 1
}
+#
+# Print information
+#
+echo "Backup directory: ${backupMainDir}"
+
#
# Check for root
#
# Backup data directory
#
echo "Creating backup of Nextcloud data directory..."
-tar -cpzf "${backupdir}/${fileNameBackupDataDir}" -C "${nextcloudDataDir}" .
+
+if [ "$ignoreUpdaterBackups" = true ] ; then
+ echo "Ignoring updater backup directory"
+ tar -cpzf "${backupdir}/${fileNameBackupDataDir}" --exclude="updater-*/backups/*" -C "${nextcloudDataDir}" .
+else
+ tar -cpzf "${backupdir}/${fileNameBackupDataDir}" -C "${nextcloudDataDir}" .
+fi
+
echo "Done"
echo
echo
echo "DONE!"
-echo "Backup created: ${backupdir}"
\ No newline at end of file
+echo "Backup created: ${backupdir}"