On Wed, Mar 19, 2014 at 1:02 PM, Colin Percival <cperciva@tarsnap.com> wrote:
Hi all,
On 03/19/14 07:39, John Gamble wrote:
> Thanks for your reply and apologies for not noticing that bit in the manual. So
> if I've understood it properly, the answer is yes, Tarsnap can re-start a
> partial archive.
Not exactly. You can create a new archive, and any data available on the server
side -- if you hit ^Q or sent a SIGQUIT and waited for tarsnap to exit cleanly,
or from automatic checkpoints, or from previous archives -- will be used for
deduplication in order to reduce the amount of new data which needs to be uploaded.
But if you were creating an archive named "backup-wednesday" and it was
truncated (deliberately or because it failed and a checkpoint was recovered)
then you'll have an archive named "backup-wednesday.part", and you won't be able
to create a new archive named "backup-wednesday". You'll be able to create a
new archive named "backup-thursday", however, and then you'll have two archives
stored. (After which point you might want to delete the first partial archive.)
> I guess the command to re-start would be exactly the same as
> the initial command. Would that be a fair assumption?
Yes except that you need to pick a new name. Once you create an archive with a
particular name, it cannot be overwritten -- it can only be deleted, and that
only if you have the delete keys. Being able to separate "can create archives"
and "can delete/destroy previously created archives" (see tarsnap-keymgmt) is
very important in high security environments.
> If this isn't a completely thick question, how would I know the archive was now
> whole and complete? That is, no data missing or lost?
If tarsnap exits without errors, the archive completed successfully. Also, if
'tarsnap --list-archives' shows the archive name (without ".part" added to the
end) then the archive was not truncated.
--
Colin Percival
Security Officer Emeritus, FreeBSD | The power to serve
Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid