Re: [Evolution] Evolution not listening to quit

On 2019-06-03 at 12:47 +0100, Patrick O'Callaghan wrote:
On Mon, 2019-06-03 at 13:40 +0200, Ralf Mardorf via evolution-list
On Mon, 2019-06-03 at 12:06 +0100, Patrick O'Callaghan wrote:
Personally, I don't back up Evolution explicitly. I do back up my home
directory every night (using rsnapshot) but this almost always happens
while my session is logged in. I have been doing this for years and
have never lost an email. I probably also helps that my accounts are
IMAP-based, so what's in the local Evolution store is mostly cached

So it's not clear to me that stopping Evo during a backup is actually

Even if you would use POP accounts and Evolution would automatically
download messages during the backup, it shouldn't matter.

Yes, I would expect that. My question is whether all of Evo's database
operations are transactional, though I'm supposing they are.

In which case I think the argument about how to make sure Evo is
stopped before doing a backup is pointless. Just don't stop it.


Even if a program is transactional, it only guarantees the state at a
given point of time. Not that you can run a generic backup program in
the background while the program works and that it will be consistent.

In order to do that you would need to work on a frozen filesystem. For
instance using LVM. btrfs also supports making a snapshot of a volume,
which is atomic. Then you could run your backup program over that copy,
and then (optionally) remove the snapshot.

Suppose you were working locally on a maildir while you are running
tar(1) for making a backup.¹

1- tar reads the list of files on cur/ and starts reading them one by
one to store them
2- you read a message, it gets renamed from
1528146778.123_0.evolution:2, to 1528146778.123_0.evolution:2,S
3- tar attempts to backup ‘1559682696.123_0.evolution:2,’, but as it's
not there, will log an error and continue.

The file has been on your mailbox for a year. The rename itself is
atomic. A power failure would not lose that file [if it's on a journaled
fs]. Yet your backup missed it.

Kind regards

¹ This is a general race condition, most other programs would have the
same problem.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]