-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Option to test/verify backups #290
Comments
This comment was marked as outdated.
This comment was marked as outdated.
I'm not sure because I'm unsure of exactly what kind of metadata is retained by Seedvault. Ideally Seedvault would be able to cryptographically verify that the data hadn't been tampered with or corrupted, and it would do a dry run restore (i.e. everything that a restore would do except actually passing the data to the system APIs to be restored) to check for format issues, like a bug in the original serialization. Mostly the Nextcloud app is slow and fragile and errors on that side have caused numerous backups I've manually run to abort partway through. So from a user perspective I want to have some assurance that what was uploaded before the failure is usable. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as duplicate.
This comment was marked as duplicate.
Arguably one should be able to configure, and perhaps by default, automatic validation (using the key that is already inside), perhaps as the first step in a backup, basically validate previous, do backup, report both statuses. |
As we don't have a server-side component that can perform verification tasks, we would need to download all data for verification. I am not sure we can do that by default before all backups (especially those tasks scheduled by the OS), because it would introduce significant delays and bandwidth usage. |
Maybe we do not need that? I think generally in most use cases we can rely on files to be not maliciously modified on target storage. So, the meta data has to be validated. Then we can check if the file has the expected size, and if it does, it probably has been written as expected to the storage. To validate bit-correctness, one could then run a script to check for filename = hashsum(content) on target storage (on some future storage backends (which store hashsums of stored content) this might even be supported ootb). |
Modern Nextcloud versions support checksums automatically. |
That sounds great! Could you check if the filenames align with the sums your NC calculates? |
Metadata now gets validated before each backup run. #785 will allow you do do manual integrity checks of random samples of data. Let's make a new ticket for scheduling such checks automatically for those who want them. |
I'd love some way to verify the backups I've already made. Ideally this would be done automatically for me on a regular basis.
Maybe select a backup to verify every night semi-randomly, giving a stronger weight to both recent backups and backups that hadn't been checked in a while?
The text was updated successfully, but these errors were encountered: