Alexandre Takacs wrote:Is it possible to set a fixed limit for the archive size - say 1TB - and let QRecall manage it so that it doesn't grow past that ?
No such option currently exists, for a variety of reasons, which I'll touch on in a moment.
If you really want do have a "hard" limit on how much your archive grows I suggest placing the archive in its own drive partition of the desired size. QRecall detects when the disk is nearly full and will abort captures and other actions that would fail if they ran out of disk space.
If you do this, you'll probably want to adopt the actions created by the capture assistant when you choose "keep items as long as possible" and "use all available space":
Merge that first three (0 through 2) layers whenever the free space on the volume is less than 10%, run daily.
Compact the archive whenever the free space on the volume is less than 10%, run daily, after the merge. These two actions mimic Time Machine's logic. They monitor the free space on the volume and start discarding the oldest items in the archive whenever the volume starts to get too full. The rest of the time, they do nothing.
A requested feature, which is on the wish list for the next major version of QRecall, is to add a new "archive size more than X" schedule condition. That would allows actions to be scheduled based directly on the archive's size, rather than indirectly based on the free space available on its volume. If a feature like that would satisfy your needs, let me know.
It would be technically very easy to add an option that strictly limits the size of an archive. But doing so just sets up QRecall for failure (rather than success). The logic that prevents the archive from getting too big when the disk space is low works by aborting capture actions, leaving items un-captured. In this situation, QRecall is choosing to protect the integrity of the archive over capturing all of the new items. But this is still a capture failure.
If I implemented a user-configurable archive size, it just creates a situation where QRecall arbitratily stops working, and that seems like a bad idea.