mirror of
https://github.com/nextcloud/all-in-one.git
synced 2025-12-20 14:36:52 +00:00
allow to exclude previews from restore upon instance restore
Signed-off-by: Simon L. <szaimen@e.mail.de>
This commit is contained in:
parent
9b3b153d13
commit
47e0ac7b4d
7 changed files with 39 additions and 1 deletions
|
|
@ -320,6 +320,13 @@ if [ "$BORG_MODE" = restore ]; then
|
||||||
fi
|
fi
|
||||||
echo "Restoring '$SELECTED_ARCHIVE'..."
|
echo "Restoring '$SELECTED_ARCHIVE'..."
|
||||||
|
|
||||||
|
# Exclude previews from restore if selected to speed up process
|
||||||
|
ADDITIONAL_RSYNC_EXCLUDES=()
|
||||||
|
if [ -n "$RESTORE_EXCLUDE_PREVIEWS" ]; then
|
||||||
|
ADDITIONAL_RSYNC_EXCLUDES=(--exclude "nextcloud_aio_nextcloud_data/appdata_*/preview/**")
|
||||||
|
echo "Excluding previews from restore"
|
||||||
|
fi
|
||||||
|
|
||||||
# Save Additional Backup dirs
|
# Save Additional Backup dirs
|
||||||
if [ -f "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/additional_backup_directories" ]; then
|
if [ -f "/nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/additional_backup_directories" ]; then
|
||||||
ADDITIONAL_BACKUP_DIRECTORIES="$(cat /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/additional_backup_directories)"
|
ADDITIONAL_BACKUP_DIRECTORIES="$(cat /nextcloud_aio_volumes/nextcloud_aio_mastercontainer/data/additional_backup_directories)"
|
||||||
|
|
@ -365,6 +372,7 @@ if [ "$BORG_MODE" = restore ]; then
|
||||||
--exclude "nextcloud_aio_mastercontainer/data/daily_backup_running" \
|
--exclude "nextcloud_aio_mastercontainer/data/daily_backup_running" \
|
||||||
--exclude "nextcloud_aio_mastercontainer/data/session_date_file" \
|
--exclude "nextcloud_aio_mastercontainer/data/session_date_file" \
|
||||||
--exclude "nextcloud_aio_mastercontainer/session/**" \
|
--exclude "nextcloud_aio_mastercontainer/session/**" \
|
||||||
|
"${ADDITIONAL_RSYNC_EXCLUDES[@]}" \
|
||||||
/tmp/borg/nextcloud_aio_volumes/ /nextcloud_aio_volumes/; then
|
/tmp/borg/nextcloud_aio_volumes/ /nextcloud_aio_volumes/; then
|
||||||
RESTORE_FAILED=1
|
RESTORE_FAILED=1
|
||||||
echo "Something failed while restoring from backup."
|
echo "Something failed while restoring from backup."
|
||||||
|
|
@ -488,6 +496,12 @@ if [ "$BORG_MODE" = restore ]; then
|
||||||
touch "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/fingerprint.update"
|
touch "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/fingerprint.update"
|
||||||
chmod 777 "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/fingerprint.update"
|
chmod 777 "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/fingerprint.update"
|
||||||
|
|
||||||
|
# Add file to Netcloud container to trigger a preview scan the next time it starts
|
||||||
|
if [ -n "$RESTORE_EXCLUDE_PREVIEWS" ]; then
|
||||||
|
touch "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/trigger-preview.scan"
|
||||||
|
chmod 777 "/nextcloud_aio_volumes/nextcloud_aio_nextcloud_data/trigger-preview.scan"
|
||||||
|
fi
|
||||||
|
|
||||||
# Delete redis cache
|
# Delete redis cache
|
||||||
rm -f "/mnt/redis/dump.rdb"
|
rm -f "/mnt/redis/dump.rdb"
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -495,6 +495,12 @@ if [ -f "$NEXTCLOUD_DATA_DIR/fingerprint.update" ]; then
|
||||||
rm "$NEXTCLOUD_DATA_DIR/fingerprint.update"
|
rm "$NEXTCLOUD_DATA_DIR/fingerprint.update"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Perform preview scan if previews were excluded from restore
|
||||||
|
if [ -f "$NEXTCLOUD_DATA_DIR/trigger-preview.scan" ]; then
|
||||||
|
php /var/www/html/occ files:scan-app-data preview -vvv
|
||||||
|
rm "$NEXTCLOUD_DATA_DIR/trigger-preview.scan"
|
||||||
|
fi
|
||||||
|
|
||||||
# AIO one-click settings start # Do not remove or change this line!
|
# AIO one-click settings start # Do not remove or change this line!
|
||||||
# Apply one-click-instance settings
|
# Apply one-click-instance settings
|
||||||
echo "Applying one-click-instance settings..."
|
echo "Applying one-click-instance settings..."
|
||||||
|
|
|
||||||
|
|
@ -477,6 +477,7 @@
|
||||||
"BORG_PASSWORD=%BORGBACKUP_PASSWORD%",
|
"BORG_PASSWORD=%BORGBACKUP_PASSWORD%",
|
||||||
"BORG_MODE=%BORGBACKUP_MODE%",
|
"BORG_MODE=%BORGBACKUP_MODE%",
|
||||||
"SELECTED_RESTORE_TIME=%SELECTED_RESTORE_TIME%",
|
"SELECTED_RESTORE_TIME=%SELECTED_RESTORE_TIME%",
|
||||||
|
"RESTORE_EXCLUDE_PREVIEWS=%RESTORE_EXCLUDE_PREVIEWS%",
|
||||||
"BACKUP_RESTORE_PASSWORD=%BACKUP_RESTORE_PASSWORD%",
|
"BACKUP_RESTORE_PASSWORD=%BACKUP_RESTORE_PASSWORD%",
|
||||||
"ADDITIONAL_DIRECTORIES_BACKUP=%ADDITIONAL_DIRECTORIES_BACKUP%",
|
"ADDITIONAL_DIRECTORIES_BACKUP=%ADDITIONAL_DIRECTORIES_BACKUP%",
|
||||||
"BORGBACKUP_HOST_LOCATION=%BORGBACKUP_HOST_LOCATION%",
|
"BORGBACKUP_HOST_LOCATION=%BORGBACKUP_HOST_LOCATION%",
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,11 @@ readonly class DockerController {
|
||||||
$config = $this->configurationManager->GetConfig();
|
$config = $this->configurationManager->GetConfig();
|
||||||
$config['backup-mode'] = 'restore';
|
$config['backup-mode'] = 'restore';
|
||||||
$config['selected-restore-time'] = $request->getParsedBody()['selected_restore_time'] ?? '';
|
$config['selected-restore-time'] = $request->getParsedBody()['selected_restore_time'] ?? '';
|
||||||
|
if (isset($request->getParsedBody()['restore-exclude-previews'])) {
|
||||||
|
$config['restore-exclude-previews'] = 1;
|
||||||
|
} else {
|
||||||
|
$config['restore-exclude-previews'] = '';
|
||||||
|
}
|
||||||
$this->configurationManager->WriteConfig($config);
|
$this->configurationManager->WriteConfig($config);
|
||||||
|
|
||||||
$id = self::TOP_CONTAINER;
|
$id = self::TOP_CONTAINER;
|
||||||
|
|
|
||||||
|
|
@ -427,6 +427,15 @@ class ConfigurationManager
|
||||||
return $config['selected-restore-time'];
|
return $config['selected-restore-time'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function GetRestoreExcludePreviews() : string {
|
||||||
|
$config = $this->GetConfig();
|
||||||
|
if(!isset($config['restore-exclude-previews'])) {
|
||||||
|
$config['restore-exclude-previews'] = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $config['restore-exclude-previews'];
|
||||||
|
}
|
||||||
|
|
||||||
public function GetAIOURL() : string {
|
public function GetAIOURL() : string {
|
||||||
$config = $this->GetConfig();
|
$config = $this->GetConfig();
|
||||||
if(!isset($config['AIO_URL'])) {
|
if(!isset($config['AIO_URL'])) {
|
||||||
|
|
|
||||||
|
|
@ -273,6 +273,8 @@ readonly class DockerActionManager {
|
||||||
$replacements[1] = $this->configurationManager->GetAIOURL();
|
$replacements[1] = $this->configurationManager->GetAIOURL();
|
||||||
} elseif ($out[1] === 'SELECTED_RESTORE_TIME') {
|
} elseif ($out[1] === 'SELECTED_RESTORE_TIME') {
|
||||||
$replacements[1] = $this->configurationManager->GetSelectedRestoreTime();
|
$replacements[1] = $this->configurationManager->GetSelectedRestoreTime();
|
||||||
|
} elseif ($out[1] === 'RESTORE_EXCLUDE_PREVIEWS') {
|
||||||
|
$replacements[1] = $this->configurationManager->GetRestoreExcludePreviews();
|
||||||
} elseif ($out[1] === 'APACHE_PORT') {
|
} elseif ($out[1] === 'APACHE_PORT') {
|
||||||
$replacements[1] = $this->configurationManager->GetApachePort();
|
$replacements[1] = $this->configurationManager->GetApachePort();
|
||||||
} elseif ($out[1] === 'TALK_PORT') {
|
} elseif ($out[1] === 'TALK_PORT') {
|
||||||
|
|
|
||||||
|
|
@ -168,7 +168,8 @@
|
||||||
{% for restore_time in backup_times %}
|
{% for restore_time in backup_times %}
|
||||||
<option value="{{ restore_time }}">{{ restore_time }} UTC</option>
|
<option value="{{ restore_time }}">{{ restore_time }} UTC</option>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</select>
|
</select><br>
|
||||||
|
<input type="checkbox" id="restore-exclude-previews" name="restore-exclude-previews"><label for="restore-exclude-previews">Exclude previews from restore which will speed up the restore process but will trigger a scan of the preview folder as soon as the Nextcloud container starts the next time</label><br>
|
||||||
<input type="submit" value="Restore selected backup"/>
|
<input type="submit" value="Restore selected backup"/>
|
||||||
</form>
|
</form>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue