copier: rsync с возобновлением, папка назначения, права 777

- Заменить ручное копирование на rsync --partial --append-verify
- Структура на диске: <mount>/<dest_folder>/<rel path from /media>
- dest_folder настраивается (default: media)
- Права на диске: --no-perms --chmod=ugo=rwx
- rsync добавлен в Dockerfile
- Режим "удалить": удаляет только dest_folder, а не весь диск

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-23 21:56:26 +03:00
parent f2a7505378
commit 8f36d4e824
6 changed files with 47 additions and 62 deletions

View File

@@ -25,6 +25,7 @@ type SourceFolder struct {
type Config struct {
ReserveFreeGB float64 `json:"reserve_free_gb"`
DestFolder string `json:"dest_folder"`
Sources []SourceFolder `json:"sources"`
OverwriteMode OverwriteMode `json:"overwrite_mode"`
FileSelectMode FileSelectMode `json:"file_select_mode"`
@@ -34,6 +35,7 @@ type Config struct {
func defaults() Config {
return Config{
ReserveFreeGB: 2.0,
DestFolder: "media",
OverwriteMode: OverwriteSkip,
FileSelectMode: SelectNew,
AutoCopy: false,