Storage and Media Commands
The repository commands report on the vault and estimate how large it needs to be. They show its capacity, how much history it holds for each machine, what retention has deleted, which finished backups did not reach it, and whether committed backups were changed outside retention. The storage replace command makes a candidate storage agent the storage machine, and the request commands list and decide actions that wait for a second operator. The os-media command reports whether the Windows Server installation media you supplied covers the operating systems your domain controllers run, which decides whether each one can use full system recovery.
For how to run cdr and the global options, see Command-Line Reference.
repository status
Shows each storage agent's vault capacity and headroom, with its capacity verdict and the retention settings behind it. The vault view also shows what each storage agent is hashing now, under hashing now: for each hash, the storage agent, what it is for (commit, the scheduled verify pass, or restore with the run it is for), the backup, the machine, and progress with rate and time left. When nothing is being hashed, it says so. Hashes that run together on one storage agent share its disk and processor, so each runs slower. The vault view also notes how many domain controllers removed from the directory, with nothing in the vault, are left out; cdr dc list --retired names them. With --machines, it shows the retention depth for each machine instead; with --prunes, the recent prune reports.
Requirements: The backup.view capability (every role).
Syntax
cdr repository status [options]
Options
| Option | Description |
|---|---|
-c, --capacity <CODE>
|
Only vaults with this verdict: ample, tight (no room for another version), full (refusing backups), unreadable (the volume could not be measured), or unreported. Applies to the vault view only. |
--machines
|
List retention depth per machine instead: versions held, size, and the oldest and newest version. |
--no-restore-point
|
With --machines, only machines with no restorable version at all. |
--prunes
|
List recent prune reports instead: what was deleted, by which retention rule, and how much space it freed. Cannot be combined with --machines. |
Examples
cdr repository status cdr repository status --machines --no-restore-point cdr repository status --prunes
For what the figures mean, see Repository and Retention.
repository uncommitted
Lists the backups a domain controller finished that the Manager did not see reach the vault, with what the Manager last found of each on the storage machine. The Manager checks every hour and whenever the storage agent connects: content still in staging is committed, content already in the vault is recorded, and content that is gone stops being counted.
The command exits with code 4 while any such backup remains, and with code 3 when the Manager did not run the check.
Requirements: The backup.view capability (every role); --check needs backup.run (Backup Operator role).
Syntax
cdr repository uncommitted [--check]
Options
| Option | Description |
|---|---|
--check
|
Check the storage machine now instead of waiting for the hourly check, and print what it committed, recorded, or found gone. |
Examples
cdr repository uncommitted cdr repository uncommitted --check cdr repository uncommitted --json
repository changes
Lists changes to committed backups that retention did not make, and whether each storage machine is watching its vault for them. For each change: the machine, the version, what was done (delete, rename, write, truncate, security, attributes, create, or changed-unobserved for a change found by comparing the vault with its commit records), how many paths, when, who (where the storage machine's audit policy recorded it), and whether it is open or reviewed. Above the table, each storage machine is listed as watching or not watching, with the reason. The open changes are the ones the Committed vault content changed outside retention alert names.
The command exits with code 4 while any change is open or any storage machine is not watching.
Requirements: The backup.view capability (every role).
Syntax
cdr repository changes [list] [options]
Options
| Option | Description |
|---|---|
--all
|
Include changes already reviewed, newest review first. |
--paths
|
List the sample of changed paths and who changed them under each version. |
Examples
cdr repository changes cdr repository changes --paths cdr repository changes list --all --json
repository changes review
Records that a version's changes were reviewed, which clears the Committed vault content changed outside retention alert for that version. The note is recorded with your name in the audit trail. A later change to the same version raises the alert again.
Requirements: The backup.manage capability (Backup Operator role).
Syntax
cdr repository changes review <VERSION> --note <TEXT> [--storage <FQDN>] [--yes]
Arguments and options
| Argument or option | Description |
|---|---|
<VERSION>
|
The version as cdr repository changes lists it (machine\stamp_job). |
-n, --note <TEXT>
|
What the review found. Required. |
--storage <FQDN>
|
The storage machine, when more than one vault holds a version of that name. |
--yes
|
Do not ask for confirmation. Required when input is not a terminal. |
Example
cdr repository changes review dc01.corp.example.com\20261021-020000_ab12cd34 --note "Restore test by J. Smith"
repository estimate
Estimates the vault size a forest needs, by measuring its domain controllers. It needs no Manager, and nothing needs to be installed, so you can run it while you plan the deployment. It writes nothing anywhere: no directory change, no agent, no Manager record.
The command reads the forest's list of domain controllers from the directory, then reads each domain controller's volumes over CIM. For each one, the backup size is the used space on its critical volumes, less the page file, hibernation file, and shadow copy storage, plus an image overhead. It then applies the retention settings (how many versions are kept per domain controller and for how long) and the number of backups that run at once. It reports a required size and a recommended size that adds an allowance for growth. Every backup is a full backup, so each version kept counts in full.
Unless you give other values, the retention and concurrency figures are the product defaults, the same ones the storage agent starts with. If it could not measure a domain controller, the command says so and exits with code 7; if it found no domain controllers, it exits with code 4.
Requirements: Run on a Windows computer that is joined to a domain in the forest, as an account that is an administrator on the domain controllers, or give such an account with --user. The domain controllers are reached with Kerberos, over WinRM (TCP 5985) or DCOM (TCP 135 and the dynamic RPC range). Does not need the Manager or an operator session. For how to use the result, see Sizing Backup Storage.
Syntax
cdr repository estimate [options]
Options
| Option | Description |
|---|---|
--dc <FQDN>
|
Measure only this domain controller. Repeat the option for more. Default: every domain controller in the forest. Cannot be combined with --domain, --server, or --per-domain. |
-d, --domain <FQDN>
|
Measure only the domain controllers of this domain. |
-s, --server <DC>
|
The domain controller to read the forest's list of domain controllers from. Default: one the DC locator finds for this computer's domain. |
-u, --user <ACCOUNT>
|
An administrator on the domain controllers. Give the domain by its DNS name, as user@corp.example.com or corp.example.com\user; CORP\user and a bare user name are refused. The password is read from CYGNADR_ESTIMATE_PASSWORD, or prompted for. Default: your own identity. Required on a computer that is not in the domain. |
--transport <NAME>
|
winrm (TCP 5985) or dcom (TCP 135 and the dynamic RPC range). Default: winrm. |
--parallel <N>
|
How many domain controllers to measure at the same time. Default: 8. |
--dc-timeout <SECONDS>
|
How long reading one domain controller may take in total. Default: 60. |
--versions <N>
|
Backups kept per domain controller—the vault's maximum versions per DC. 0 means no count limit. Default: the product default. |
--days <N>
|
The vault's maximum version age, in days. 0 means no age limit. Default: the product default. |
-e, --every <MINUTES>
|
How often each domain controller is backed up, used with --days. Default: 1440 (daily). |
--per-domain <N>
|
Back up this many domain controllers in each domain instead of every one, each sized at its domain's average. A domain with fewer domain controllers backs up all it has. |
--concurrent <N>
|
How many backups run at once—the maximum concurrent backups setting. Default: the product default. |
--overhead <PERCENT>
|
Image overhead on top of the used space a backup copies. Default: 15. |
--growth <PERCENT>
|
Allowance for growth over the repository's life, included in the recommended figure. Default: 25. |
--volumes
|
List every volume of every domain controller, critical or not, with what was subtracted and why. |
Examples
Measure the whole forest from a domain-joined computer, keeping 14 versions per domain controller:
cdr repository estimate --versions 14 --volumes
Size for 180 days of daily backups of three domain controllers per domain, with an explicit account (cdr prompts for its password):
cdr repository estimate --days 180 --every 1440 --per-domain 3 --server dc01.corp.example.com --user admin@corp.example.com
storage replace
Makes a candidate storage agent the storage machine. Every restore point on the current storage machine stops being restorable, and backups start again from zero on the new one. Without --confirm, the command only says what the replacement would do: the current and new machine, how many restore points end, how many uncommitted backups are given up, how many domain controllers are backed up at once, the two machines' locally set retention values with any that are weaker on the new one, and anything that blocks it now. For the whole procedure, see Replacing the storage machine.
With --confirm, an operator holding both agents.manage and backup.manage replaces the storage machine at once. An operator holding one of them creates a request instead, which an operator holding the other approves with cdr request approve within 24 hours. Nothing changes until then.
Requirements: The environment.view capability to see what it would do. To ask for it, agents.manage or backup.manage; to carry it out alone, both.
Syntax
cdr storage replace <ID> [--confirm <ID>] [--note <TEXT>]
| Argument or option | Description |
|---|---|
<ID>
|
Required. The candidate storage agent's ID, as cdr agent list --kind storage --wide shows it. |
--confirm <ID>
|
Type the candidate's agent ID again to ask for the replacement. Without it, cdr only says what would happen. |
--note <TEXT>
|
Why, for the operator who approves it and for the audit trail. |
Exit codes: 0 when the replacement was carried out or asked for, or when nothing was confirmed; 4 when something blocks it now, or the Manager refused it because of the state of the installation; 3 when the request failed or the candidate is not enrolled.
Examples
cdr storage replace 7c1e0b52-93d4-4f6a-a2e8-1b9c3d4e5f60 cdr storage replace 7c1e0b52-93d4-4f6a-a2e8-1b9c3d4e5f60 --confirm 7c1e0b52-93d4-4f6a-a2e8-1b9c3d4e5f60 --note "Moving to production"
request list, show, approve, decline, and cancel
An action that needs two capabilities, such as replacing the storage machine, waits as a request when the operator who asked holds only one of them. These commands list requests and decide them. See Requests.
request list—Pending requests and those decided in the last week, pending first, with the columns ID, STATE, ACTION, TARGET, ASKED BY, ASKED, NEEDS, and DECIDED BY.--alllists every request. Exits with code 4 while one is pending.request show <ID>—One request, and for a pending one what approving it would do now, which can differ from when it was asked.request approve <ID> --confirm <TARGET>—Approves a request, and it is carried out at once. For a storage replacement, the target is the candidate's agent ID. Without--confirm, the command shows what approving would do and changes nothing. You need the capability the requester lacked, and cannot approve your own request.request decline <ID>—Declines a request you could have approved.request cancel <ID>—Takes back a request: your own, or any whose action needs a capability you hold.
approve, decline, and cancel take --note <TEXT> for the audit trail. A refusal exits with code 4 when the request can no longer be decided that way, for example because it was already decided or something blocks it now, and 3 otherwise.
Requirements: The dashboard.view capability (every role) to list and show requests. Approving, declining, and cancelling depend on the request, as described above.
Examples
cdr request list cdr request show a1b2c3d4e5f6 cdr request approve a1b2c3d4e5f6 --confirm 7c1e0b52-93d4-4f6a-a2e8-1b9c3d4e5f60 cdr request decline a1b2c3d4e5f6 --note "Not until the cutover weekend"
os-media list
Lists the operating systems your domain controllers run—build, edition, installation type, architecture (ARCH), and language—with each one's media coverage: whether the OS media library holds installation media from which a recovery image for that operating system can be built. Architecture is compared wherever both the machine's backup and the media record it. With --media, it lists the media instead; with --images, the recovery images.
Below the table, the command says:
- How many domain controllers have no manifest recording their build, edition, or install type, and why: no DC agent (
cdr agent deployinstalls one), an agent and no completed backup yet (cdr backup startgives each a row), or backed up but the agent could not read the build, edition, or install type. Excluded domain controllers are not counted, and a hint says how many. - For each storage agent's recovery image library, one line: how many images are retained, how many are to be retired, and how many have been retired so far, each with its size. If the Manager is not deciding retirement for a library, a hint says why.
Requirements: The backup.view capability (every role).
Syntax
cdr os-media list [options]
Options
| Option | Description |
|---|---|
-c, --coverage <CODE>
|
Only operating systems with this verdict: covered, uncovered, language-mismatch, unconfirmed, unscanned, or no-library. |
--uncovered
|
Shorthand for --coverage uncovered: the machines that could not be rebuilt from the media on hand. Cannot be combined with --coverage. |
--media
|
List the media instead: the configured folders, their scans, and the images inside each ISO file. |
--images
|
List the recovery images instead: what each storage agent's library holds, which it keeps and which it retires, and what it has retired. For each library, a table with the columns FILE, BUILD, EDITION, ARCH, VERDICT, SIZE, BUILT, FATE (keep: or retire: with the reason), and SHA-256 (the image's hash, which cdr restore plan --verify --image takes), the retention line, and how many images it has retired, with a pointer to cdr audit list --action recovery-image.retired, where each retirement is recorded. Cannot be combined with --media. |
Examples
cdr os-media list --uncovered cdr os-media list --media cdr os-media list --images
For how to supply media, see Setting Up OS Media and Recovery Images.