But I would not mind having a system wide service to update data files
like these. Perhaps with a log with version info, so you can look up
what version was used at what date.
Indeed, it would be nice to find a generic solution, but this might be
tricky. There are conflicting needs of stability (no updates), freshness
(updates every day) and multi-user support (no updates and updates
everyday all at once on the same machine). The only solution I can think
of now is keeping all the downloaded versions with version/date in their
names like:
/var/cache/pdb/components/components-20210814.cif.gz
/var/cache/pdb/components/components-20210820.cif.gz
/var/cache/pdb/components/components-20210826.cif.gz
...
(maybe /var/cache/pdb/components/components.cif.gz symlink to the latest)
Then a user would use environment variable, say, PDB_COMPONENTS to point
to a file with version in its name should they need a specific stable
database, and would use /var/cache/pdb/components/components.cif.gz
should they need the most up-to-date one.
Does this sound reasonable?