mirror of
https://github.com/photoprism/photoprism.git
synced 2025-12-12 00:34:13 +01:00
Backups: Add config option to limit the number of backups to keep #4243
PHOTOPRISM_BACKUP_RETAIN lets to specify the number of index database dumps to keep (backup filenames are in the format "YYYY-MM-DD.sql"). Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
@@ -26,13 +26,13 @@ func NewBackup(conf *config.Config) *Backup {
|
||||
|
||||
// StartScheduled starts a scheduled run of the backup worker based on the current configuration.
|
||||
func (w *Backup) StartScheduled() {
|
||||
if err := w.Start(w.conf.BackupIndex(), w.conf.BackupAlbums(), true); err != nil {
|
||||
if err := w.Start(w.conf.BackupIndex(), w.conf.BackupAlbums(), true, w.conf.BackupRetain()); err != nil {
|
||||
log.Errorf("scheduler: %s (backup)", err)
|
||||
}
|
||||
}
|
||||
|
||||
// Start creates index and album backups based on the current configuration.
|
||||
func (w *Backup) Start(index, albums, force bool) (err error) {
|
||||
func (w *Backup) Start(index, albums bool, force bool, retain int) (err error) {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
err = fmt.Errorf("backup: %s (worker panic)\nstack: %s", r, debug.Stack())
|
||||
@@ -67,8 +67,8 @@ func (w *Backup) Start(index, albums, force bool) (err error) {
|
||||
// Create index database backup.
|
||||
if !index {
|
||||
// Skip.
|
||||
} else if err = photoprism.BackupIndex(backupPath, "", false, force); err != nil {
|
||||
log.Errorf("backup: %s (backup index)", err)
|
||||
} else if err = photoprism.BackupIndex(backupPath, "", false, force, retain); err != nil {
|
||||
log.Errorf("backup: %s (index)", err)
|
||||
}
|
||||
|
||||
if mutex.BackupWorker.Canceled() {
|
||||
@@ -79,7 +79,7 @@ func (w *Backup) Start(index, albums, force bool) (err error) {
|
||||
if !albums {
|
||||
// Skip.
|
||||
} else if count, backupErr := photoprism.BackupAlbums(w.conf.AlbumsPath(), force); backupErr != nil {
|
||||
log.Errorf("backup: %s (backup albums)", backupErr.Error())
|
||||
log.Errorf("backup: %s (albums)", backupErr.Error())
|
||||
} else if count > 0 {
|
||||
log.Debugf("backup: %d albums saved as yaml files", count)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user