Need a write up of the backup strategy for technical users of MultiBit HD:
Code: BackupService schedules the backups, calling BackupManager to do the work.
The scheduling is:
1) Wait 60 seconds after MBHD starts and then start 'ticking' every two minutes.
2) Every tick (2 minutes), create a rolling wallet backup. This is a copy of the encrypted wallet stored in the wallet directory "rolling-backup" directory. Timestamped. There are up to 4 of these. Encrypted with the wallet password.
3) Every "tick modulo 5" (10 minutes), create a zip backup in the wallet directory "zip-backup" directory. These are the local zip backups. This is everything in the wallet directory except the blockstore and the zip-backups themselves. Note that the rolling backups are put in the zip backup. It is actually a zip file which is then AES encrypted. Encrypted with a key derived from the wallet words.
4) Every "tick modulo 15" (30 minutes), copy the just created zip backup to the cloud backup directory if there is one set.
Thus:
rolling backups are made at 1, 3, 5, 7 ... minutes after start up
local zip backups at 1, 11, 21, 31, 41 ... minutes after start up
cloud zip backups at 1, 31, 61, 91 ... minutes after start up.
Rolling backups are pruned, oldest first, when there are more than 4 backups. Secure deleted.
Local and cloud zip backups are pruned when they get to 60 (each) as follows:
The first 2 are always kept
The last 8 are always kept.
For the remaining, the backup that was most rapidly replaced is secure deleted. This gradually spaces out the backups.
Need a write up of the backup strategy for technical users of MultiBit HD:
Code: BackupService schedules the backups, calling BackupManager to do the work.
The scheduling is:
1) Wait 60 seconds after MBHD starts and then start 'ticking' every two minutes.
2) Every tick (2 minutes), create a rolling wallet backup. This is a copy of the encrypted wallet stored in the wallet directory "rolling-backup" directory. Timestamped. There are up to 4 of these. Encrypted with the wallet password.
3) Every "tick modulo 5" (10 minutes), create a zip backup in the wallet directory "zip-backup" directory. These are the local zip backups. This is everything in the wallet directory except the blockstore and the zip-backups themselves. Note that the rolling backups are put in the zip backup. It is actually a zip file which is then AES encrypted. Encrypted with a key derived from the wallet words.
4) Every "tick modulo 15" (30 minutes), copy the just created zip backup to the cloud backup directory if there is one set.
Thus: rolling backups are made at 1, 3, 5, 7 ... minutes after start up local zip backups at 1, 11, 21, 31, 41 ... minutes after start up cloud zip backups at 1, 31, 61, 91 ... minutes after start up.
Rolling backups are pruned, oldest first, when there are more than 4 backups. Secure deleted.
Local and cloud zip backups are pruned when they get to 60 (each) as follows: