Where does Gnucash save it backup files when using mysql data source

AC gnucash at acarver.net
Sun Jul 5 13:47:33 EDT 2015


On 2015-07-05 10:19, L. D. James wrote:

> I'm describing ways of making Gnucash easy to use for the notice and
> easy to support by the experts.  The features I'm describing will make
> it much easier for me to give support to this group if they experience
> problems.

There is easier and there is proper. A built-in backup for a database
engine is not proper.  As was mentioned previously in the thread, there
is a goal for Gnucash to become multiuser capable meaning it requires a
database engine for storage.  Any application which uses a database that
supports concurrent access does not, by design, contain a backup
feature.  This is true for all enterprise software.  The reason is that
it is not possible to guarantee the data as long as the data is open.
It is not proper for Gnucash to have the backup feature if a concurrent
database model is in use.  A separate tool is required to perform the
backup however this can happen if and only if all applications are
closed.  Have you ever noticed websites (like a bank) post scheduled
downtimes for several hours during an off period (say early morning on a
Sunday)?  They're doing database maintenance during that downtime which
means all applications are disconnected from the database to ensure
consistency and integrity.  The bank's financial software doesn't
perform backups, it's a system in the background.

For Gnucash to perform a backup it would have to lock the whole database
while the backup was in progress and it could only do that if no
transactions were outstanding.  If Gnucash were to support performing
backups or exports then it would really need a dialog box during
configuration that says something to the effect of "I promise this is a
single-user installation and the database is not shared".  Gnucash has
no way of knowing otherwise that the database isn't shared and
performing an export on a shared database can be very dangerous no
matter whether it is automatic or manual.  Single user Gnucash use
should probably stay with XML or sqllite for inexperienced users.  A
multiuser environment of Gnucash is going to require someone that has
experience working with database engines.  An experienced database user
is not going to perform a backup using the application software, guaranteed.

You mentioned people not wanting to hire IT services but that is exactly
what they should be doing for a variety of reasons not just Gnucash.  I
would be hesitant to use the services of any provider (doctor, lawyer,
etc.) if they did not hire IT professionals to manage their systems.  IT
support is the cost of doing business.  There are plenty of other
systems used by those professions which utilize very complex databases
(doctors have appointment tracking, medical records, inventory tracking;
lawyers have document tracking, calendar and email hopefully with secure
encryption to maintain attorney-client privilege).  All of them should
already be supported by IT (whether permanent staff or outside
consultant).  Adding any financial software database would be a minor
addition to that workload.


More information about the gnucash-user mailing list