Hello,
We are using fuseki and we would like to implement a backup policy
similar in capabilities to what [autopostgresqlbackup] has to offer.
Are there any existing solutions out there that can do all / part of these?
We would like to take:
* daily backups for a week
* weekly backups - 1 per week, last 4 weeks
* monthly backups - 1/ month, last 6 months
I believe this could be scripted with via the HTTP API + directory access.
The backup api in [fuseki-server-protocol] can trigger a backup and can
also list existing backups.
Unfortunately in the current implementation, backup is not consistent.
In case of a server crash during backup, the file will remain there
incomplete.
Also, since tasks are stored in memory and cleaned (periodically / on
restart) there is no way to know for sure if the backup was successful
or not.
In have encountered the above quite often in some workloads.
The in-consistency could be solved by writing the backup to temporary
file name and on completion, renaming it to final file name.
Rename is usually atomic operation on POSIX file systems.
/backup-list API can list all backups or split backups in complete /
incomplete. IMO for now, it can list all of them.
The in progress backup could be stored alongside the other backups with
a file marker like: dataset_date.nq.gz.INCOMPLETE .
Once it's done it can be renamed to dataset_date.nq.gz .
Cleanup might be handled externally. In case of a crash, the file will
remain INCOMPLETE until it is removed by system by checking a specific
amount of time has passed since backup was started (1-2 days).
WDYT?
[autopostgresqlbackup] https://github.com/k0lter/autopostgresqlbackup
[fuseki-server-protocol]
https://jena.apache.org/documentation/fuseki2/fuseki-server-protocol.html
Thanks,
--
Eugen Stan
+40770 941 271 / https://www.netdava.com
begin:vcard
fn:Eugen Stan
n:Stan;Eugen
email;internet:eugen.s...@netdava.com
tel;cell:+40720898747
x-mozilla-html:FALSE
url:https://www.netdava.com
version:2.1
end:vcard