zvault-vacuum(1) -- Reclaim space by rewriting bundles
zvault vacuum [OPTIONS] <REPO>
This subcommand reclaims space by rewriting bundles in the repository
This command rewrites bundles to remove unused chunks of backups that have been removed by zvault-remove(1) or zvault-prune(1). To accomplish this, it will scan all backups and track all used chunks to identify chunks that are not used by any backup. Those chunks are then grouped by bundle and bundles with many unused chunks will be rewritten with those chunks left out.
--ratio configures the minimal ratio of used chunks in a bundle
required to remove it. Since all chunks that are still used must be read from
the bundle and written to a new one and only the storage space of the unused
chunks can be reclaimed, rewriting a bundle is more economical the lower the
ratio. At a ratio of 0% will only rewrite bundles with no used chunks at all
(in this case the bundle is just removed). At a ratio of 100%, all bundles will
be rewritten regardless of unused chunks.
Please note that the bundles will be rewritten with the current settings for encryption and compression, disregarding the original settings during bundle creation.
--force is set, this command will only simulate the process but not
actually rewrite any bundle.
As this is a critical operation, zVault takes many precaution measures to avoid any damaging the integrity to the repository or other backups. The whole process is performed with an exclusive lock on the repository which prevents any backup runs. Also the chunk index is double checked before removing bundles to make sure that they are unused. Nevertheless, this is a critical operation which should be avoided when the storage space permits it.
Also combine small bundles into larger ones.
Do not rewrite bundles with more than
NUM% of used chunks. The ratio must be given in whole percentage, e.g. 50 mean 50%.
Actually run the vacuum instead of simulating it.
Prints help information
Copyright (C) 2017 Dennis Schwerdel This software is licensed under GPL-3 or newer (see LICENSE.md)