diff --git a/dashboard/src/components/BackupSiteConfigDialog.vue b/dashboard/src/components/BackupSiteConfigDialog.vue index 662c0a179..44f451dc7 100644 --- a/dashboard/src/components/BackupSiteConfigDialog.vue +++ b/dashboard/src/components/BackupSiteConfigDialog.vue @@ -35,6 +35,8 @@ const mountOptionsPassword = ref(''); const mountOptionsUser = ref(''); const mountOptionsPrivateKey = ref(''); const useHardlinks = ref(false); +const chown = ref(false); +const preserveAttributes = ref(false); async function onSubmit() { busy.value = true; @@ -67,7 +69,15 @@ async function onSubmit() { } if ((provider.value === 'filesystem' || mountlike(provider.value)) && site.value.format === 'rsync') { - data.noHardlinks = !!useHardlinks.value; + data.noHardlinks = !useHardlinks.value; + } + + if ((provider.value === 'mountpoint' || provider.value === 'cifs') && site.value.format === 'rsync') { + data.preserveAttributes = preserveAttributes.value; + } + + if (provider.value === 'mountpoint' && site.value.format === 'rsync') { + data.chown = chown.value; } // only call if anything has changed @@ -142,7 +152,15 @@ defineExpose({ } if ((provider.value === 'filesystem' || mountlike(provider.value)) && site.value.format === 'rsync') { - useHardlinks.value = !!t.config.noHardlinks; + useHardlinks.value = !t.config.noHardlinks; + } + + if ((provider.value === 'mountpoint' || provider.value === 'cifs') && site.value.format === 'rsync') { + preserveAttributes.value = !!t.config.preserveAttributes; + } + + if (provider.value === 'mountpoint' && site.value.format === 'rsync') { + chown.value = !!t.config.chown; } await getMemory(); @@ -213,6 +231,10 @@ defineExpose({ + + + +