Резервное копирование bj на SMB: настройки (хранилище, расписание, хранение), копия сейчас, список и проверка копий; восстановление из копии на шаге 1 мастера; таймер bj-backup, smbclient в установщике

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-10-05 14:55:38 +03:00
parent e31e35e663
commit 6aecac1cc8
15 changed files with 558 additions and 4 deletions
+10
View File
@@ -39,6 +39,7 @@ type Settings struct {
NPR NPRSettings `json:"npr"`
QuikExport json.RawMessage `json:"quik_export,omitempty"` // устарело: настройки у службы bj-quikexport
Auth AuthSettings `json:"auth"`
Backup BackupSettings `json:"backup,omitempty"`
LastTest *TestRunResult `json:"last_test,omitempty"`
UpdatedAt time.Time `json:"updated_at"`
}
@@ -449,6 +450,15 @@ func (r *RuntimeConfig) UpdateCACerts(s CACertsSettings) error {
return r.save()
}
// UpdateBackup сохраняет настройки резервного копирования.
func (r *RuntimeConfig) UpdateBackup(s BackupSettings) error {
r.mu.Lock()
r.data.Backup = s
r.data.UpdatedAt = time.Now()
r.mu.Unlock()
return r.save()
}
// UpdateNews заменяет всю ленту новостей.
func (r *RuntimeConfig) UpdateNews(s NewsSettings) error {
r.mu.Lock()