Skip to content
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

Selective restore of Samba File Server contents #58

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

DavidePrincipi
Copy link
Member

  • Add an index of share contents to the backup (plocate DB format)
  • Implement seek-snapshot-contents action
  • Implement restore-snapshot-content action
  • Fix add-share validator, to forbid chars like "/"

Refs NethServer/dev#7072

The Plocate command will be used to implement share content indexing, to
quickly seek a file or directory name inside a backup.
Generate a Plocate share content index for each share under the same
directory of Samba backup. Files have .plocate extension.
Prevent the creation of directories with Microsoft invalid characters.
Refs https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions
- Require core 3.3.0+
- Extract from the bakckup snapshot the index of share contents
- Search matching file/dir names with the index
- Clean up the index cache after 8 hours
- Create and set-up permissions of "Restored content" folder, if
  missing.
- Remove previously restored contents.
- Restore the backup, capturing Restic's progress percentage.
The double-colon ":" char is considered a key/value separator in
Python's ConfigParser class default configuration. Some share manual
settings require ":" in the key string (e.g. Recycle Bin).

This commit configure the ConfigParser object to expect key/value lines
separated by "=" char only.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant