Exit non-zero when snapshot create --skip-errors skips anything it cannot read (closes #310)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
A backup under --skip-errors printed its skip errors and failed count, then "Finished successfully.", and exited 0, so a cron wrapper could not tell it from a complete backup. A directory the walk could not list was not counted at all. Each entry the walk skips is now counted as examined and failed. When --skip-errors skipped anything it could not read or list, the run keeps its snapshots, runs the post-backup prune as before, and returns an error the command reports as "Backup completed, but N file(s) could not be read". A file removed during the run, including one the walk finds gone after listing its directory, is counted once, as failed, and leaves the exit status at 0 with or without the flag; without it, such a removal no longer stops the backup. Model: opus-5-5
This commit is contained in:
@@ -115,6 +115,13 @@ on Linux), then /etc/vaultik/config.yml.`,
|
||||
return
|
||||
}
|
||||
|
||||
if errors.Is(err, vaultik.ErrFilesUnreadable) {
|
||||
log.Error("Backup completed with unreadable files", "error", err)
|
||||
ReportErrorf("Backup completed, but %v", err)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
log.Error("Snapshot creation failed", "error", err)
|
||||
ReportErrorf("Snapshot creation failed: %v", err)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user