Mailbox dump/restore tool
y10k opened this issue · comments
- dump to/restore from cold backup of plain files and directories
- hot backup is not a scope
- plug-in system of any backup format (ex. tar, zip)
Tar is popular format that is easy to handle with streaming I/O, but
it is not chosen as the default to avoid to depend on an external gem.
Tar format may be provided as a plug-in.
Backup data format
Requirements
- self-explanatory in text format
- easy to handle with streaming I/O
- provable of backup data integrity
Format
[header#1 size],[header#1 checksum]
[header#1]
[data#1]
[header#2 size],[header#2 checksum]
[data#2]
...
[header#last size],[header#last checksum]
[header#last]
[data#last]
Header
Content-Type: message/rfc822
Content-Type: text/plain
Content-Type: application/octet-stream
Content-Length: 123
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: base64
Content-MD5: 1B2M2Y8AsgTpgAmY7PhCfg==\
Content-Disposition: attachment; filename="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/message/0"
Content-Disposition: attachment; filename="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/meta/cnum"
Content-Disposition: attachment; filename="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/mailbox_1/1"
Need a mechanism to enumerate all unique user IDs.
See #38.