1. A method for backing up a computer system with a plurality of client computers to be backed up to a cloud, comprising: Per the client computer of the plurality of client computers by: choosing a time window to back up the client computer to a disk volume with a desired retention schedule in the cloud; syncing the client computer (job syncs) during the time window and writing data to the disk volume in the cloud; and at a completion of job sync, taking a snapshot of the disk volume in the cloud, while recording a daily record of the snapshot information in a database about the job sync triggered the snapshot, the sync' s start and end time, the data synced, and metadata; per the desired retention schedule: checking the desired retention schedule for multiple entries of the daily record of the snapshot information in the database; minimizing all snapshots of the desired retention schedule by determining if there is more than one daily record of the snapshot information in the database, and removing the daily record of the snapshot information in the database if there is more than one; associating snapshots of the desired retention schedule until only one daily record of the snapshot information remains, and consolidating snapshots to a minimal set of the job syncs with a most recent snapshot; per the disk volume, over the desired retention schedule, determining an optimal set of snapshots from the consolidated minimal set of snapshots that cover all the sync jobs for all the client computers by: ordering the job syncs from a least to a most snapshot coverage; for each of the job syncs not covered, starting with the least-covered job sync, obtaining one or more covering snapshots and noting a snapshot covering the most job syncs; noting all the job syncs covered by the snapshot, and working on the next job sync of the disk volume; altering the daily record of the snapshot information in the database to point to one of the optimal set of snapshots and for each job sync having a database row not pointing to a noted snapshot, updating the database row to point to the noted snapshot; and deleting the snapshots considered during the optimization but not in the optimal set of snapshots.