Replies: 4 comments 1 reply
-
Would a tool that automatically manages snapshots be useful here. E.g. https://kopia.io/ rather than writing our own custom logic? |
Beta Was this translation helpful? Give feedback.
-
Maybe, but we already have a pretty solid snapshot system (full database dump, and all files, etc.), so whatever we do needs to be an extension of that. Primarily, our snapshots are used for moving data between systems (local, demo server, live server, etc.), not backups. We use it for backups, but that's only because it was easy to co-opt what we already had to take scheduled snapshots and call them "backups". I'd need to have a closer look at third-party options to see if it can be made to fit our needs. And maybe talk it through with someone who might have some insight. |
Beta Was this translation helpful? Give feedback.
-
Couple of additional use cases mentioned in Telegram chat. They're kind of implied by the above "requirements", but have a bit more specificity:
|
Beta Was this translation helpful? Give feedback.
-
Having had a little play around with some of these ideas, I think the whole chain-of-UIDs spec is a little overkill, as the archive root Basically, the The So there probably isn't really a need to each info.json to have the UID of the previous folder -- we'll always use the root |
Beta Was this translation helpful? Give feedback.
-
Initial issue with stray thoughts: #1042
Background
The system snapshots (particularly Fiji) are getting increasingly large and hard to work with. The Fiji snapshot is now up to 1GB and they've only had the system running for a couple of months! This causes several problems:
So we need some kind of "incremental" system which allows us not to duplicate the files when backing up, and download/upload smaller snapshots if we already have most of the files downloaded/uploaded.
One thing we have going for us is that files don't change -- once they're in the system, they don't get updated, so we can use this to our advantage to make this process a bit simpler. (We'll need to be careful that we strictly adhere to this -- we've been known to swap out Carbone doc files in-place and re-upload a snapshot, but this won't work with this new, proposed solution.)
Requirements
Terminology
Let's get some definitions established so the rest of this makes sense:
/files
with all files recorded in the "files" table of the databaseProposal
The following assumes prior understanding of how files, snapshots and backups currently work in Conforma.
We establish a new subfolder called "__ARCHIVE" within the system files folder where we move files that can be "archived", i.e. older than a certain age.
We have an "Archive" script that runs on a schedule (probably once or twice a week -- configurable), which would move any files meeting the archiving criteria into a new dated subfolder within the archive folder, e.g.
Within each timestamped subfolder, we'd preserve the existing directory structure of any files moved into it.
That's the basic idea, and from here we can define (or update) procedures for the following operations that would complete this overall solution:
Procedures
Archive script
null
for “previous” properties)Take snapshot
Use snapshot
Take Archive snapshot
Use Archive snapshot
Download archive
Upload archive
Backup script
Other considerations
Beta Was this translation helpful? Give feedback.
All reactions