Zum Inhalt springen

Backups ​

Status, Plan, Läufe, Wiederherstellungspunkte, Prüfung und Aufbewahrung des integrierten Backup-Agenten.

Die Vorgänge dieser Gruppe mit ihrer Zugriffsregel, Wiederholungsregel, ihren Parametern und Antworten. Jede Anfrage trägt einen Schlüssel: Authorization: Bearer <Schlüssel> (siehe „Authentifizierung“).

Vorgänge ​

Backup-Status abrufen ​

GET HEAD /api/v1/backup/status

Zugriff: Systemberechtigung backup.read · Wiederholung: Wiederholen ist sicher (Lesen)

Fasst das Backup-System zusammen: den Backup-Speicher (configured, available, freie und gesamte Bytes), den Backup-Agent (online, letzter Heartbeat, Version), den Plan, den neuesten abgeschlossenen Wiederherstellungspunkt, den nächsten geplanten Lauf, den laufenden Job und warnings, jede ein Code wie agent_offline oder backup_stale mit dem Schweregrad warning oder critical. Der Backup-Speicher wird als nicht verfügbar gemeldet, solange der Agent offline ist. Die Antwort enthält keine Pfade oder Geheimnisse.

Antwort 200

FeldTypErforderlichRegeln
vaultobjectja—
vault.configuredbooleanja—
vault.idstring (uuid)jadarf null sein
vault.availablebooleanja—
vault.encryptedbooleanjadarf null sein; Das Vault ist verschlüsselt; null, wenn unbekannt oder nicht verbunden.
vault.freeBytesstringjaeine ganze Zahl in Dezimalziffern, als String gesendet; darf null sein
vault.totalBytesstringjaeine ganze Zahl in Dezimalziffern, als String gesendet; darf null sein
agentobjectja—
agent.onlinebooleanja—
agent.lastSeenAtstring (date-time)jadarf null sein
agent.versionstringjahöchstens 64 Zeichen; darf null sein
planobjectja—
plan.enabledbooleanja—
plan.hourintegerja0–23
plan.minuteintegerja0–59
plan.timezonestringja1–64 Zeichen; Explizite IANA-Zeitzone, z. B. Europe/Moscow; wird vom Server validiert.
plan.retentionobjectja—
plan.retention.dailyintegerja0–366
plan.retention.weeklyintegerja0–260
plan.retention.monthlyintegerja0–120
plan.revisionintegerja0–2147483647
lastCompletedobjectjadarf null sein
lastCompleted.idstring (uuid)ja—
lastCompleted.snapshotAtstring (date-time)jaSnapshot-Zeitpunkt T; das Alter eines Punkts zählt ab T.
lastCompleted.completedAtstring (date-time)ja—
lastCompleted.blobsintegerjamindestens 0
lastCompleted.contentBytesstringjaeine ganze Zahl in Dezimalziffern, als String gesendet
lastCompleted.newBytesstringjaeine ganze Zahl in Dezimalziffern, als String gesendet; Bytes, die dieser Punkt zum Backup-Speicher hinzugefügt hat.
lastCompleted.tablesintegerjamindestens 0
lastCompleted.rowsintegerjamindestens 0
lastCompleted.pinnedbooleanja—
lastCompleted.verifiedAtstring (date-time)jadarf null sein
lastCompleted.verifyDepthstringjaeiner von structural, deep, null; darf null sein
lastCompleted.verifyErrorstringjaentspricht ^[a-z][a-z0-9_]{0,63}$; darf null sein
nextRunAtstring (date-time)jadarf null sein
runningobjectjadarf null sein
running.idstring (uuid)ja—
running.kindstringjaeiner von capture, verify, retention
running.statestringjaeiner von queued, running, committing, completed, failed, interrupted
running.phasestringjaentspricht ^[a-z][a-z0-9_]{0,63}$; darf null sein
running.startedAtstring (date-time)jaBeginn der Ausführung oder, solange eingereiht, die Zeit der Anfrage.
running.finishedAtstring (date-time)jadarf null sein
running.errorCodestringjaentspricht ^[a-z][a-z0-9_]{0,63}$; darf null sein
running.pointIdstring (uuid)jadarf null sein
running.progressobjectja—
running.progress.bytesCopiedstringjaeine ganze Zahl in Dezimalziffern, als String gesendet; Verarbeitete Bytes: kopiert oder bereits im Backup-Speicher.
running.progress.bytesTotalstringjaeine ganze Zahl in Dezimalziffern, als String gesendet
running.progress.blobsCopiedintegerjamindestens 0
running.progress.blobsTotalintegerjamindestens 0
warningsArray von objectjahöchstens 10 Elemente
warnings[].codestringjaeiner von vault_not_configured, agent_offline, schedule_disabled, no_backup_yet, backup_stale, last_run_failed, vault_unavailable, vault_low_space, verify_failed, never_deep_verified
warnings[].severitystringjaeiner von warning, critical

Antworten: 200, 400, 401, 403, 404, 409, 422, 503, 507

Beispiel

bash
curl -X GET "$ARKVORY_URL/api/v1/backup/status" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Backup-Plan abrufen ​

GET HEAD /api/v1/backup/plan

Zugriff: Systemberechtigung backup.read · Wiederholung: Wiederholen ist sicher (Lesen)

Liefert den täglichen Zeitplan (enabled, hour und minute in der IANA-timezone) und die Aufbewahrungsrichtlinie (daily, weekly, monthly aufzubewahrende Punkte) mit der revision, die Sie an updateBackupPlan zurücksenden. Bis zu einer Änderung ist der Plan deaktiviert, mit einem Zeitplan um 02:00 UTC und 7 täglichen, 4 wöchentlichen und 6 monatlichen Punkten.

Antwort 200

FeldTypErforderlichRegeln
enabledbooleanja—
hourintegerja0–23
minuteintegerja0–59
timezonestringja1–64 Zeichen; Explizite IANA-Zeitzone, z. B. Europe/Moscow; wird vom Server validiert.
retentionobjectja—
retention.dailyintegerja0–366
retention.weeklyintegerja0–260
retention.monthlyintegerja0–120
revisionintegerja0–2147483647

Antworten: 200, 400, 401, 403, 404, 409, 422, 503, 507

Beispiel

bash
curl -X GET "$ARKVORY_URL/api/v1/backup/plan" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Backup-Plan ersetzen ​

PUT /api/v1/backup/plan

Zugriff: Systemberechtigung backup.manage · Wiederholung: Nur mit der erwarteten Revision wiederholen (compare-and-swap)

Ersetzt den gesamten Plan: enabled, hour (0–23), minute (0–59), timezone und retention (höchstens 366 tägliche, 260 wöchentliche, 120 monatliche) müssen alle vorhanden sein. expectedRevision muss die aktuelle Revision sein, sonst 409 revision_mismatch; ein ungültiges Feld ergibt 400 mit einem JSON Pointer in details. Der Agent folgt dem neuen Zeitplan ab seiner nächsten Prüfung.

Anfragetext (application/json)

FeldTypErforderlichRegeln
expectedRevisionintegerja0–2147483647
enabledbooleanja—
hourintegerja0–23
minuteintegerja0–59
timezonestringja1–64 Zeichen; Explizite IANA-Zeitzone, z. B. Europe/Moscow; wird vom Server validiert.
retentionobjectja—
retention.dailyintegerja0–366
retention.weeklyintegerja0–260
retention.monthlyintegerja0–120

Antwort 200

FeldTypErforderlichRegeln
enabledbooleanja—
hourintegerja0–23
minuteintegerja0–59
timezonestringja1–64 Zeichen; Explizite IANA-Zeitzone, z. B. Europe/Moscow; wird vom Server validiert.
retentionobjectja—
retention.dailyintegerja0–366
retention.weeklyintegerja0–260
retention.monthlyintegerja0–120
revisionintegerja0–2147483647

Antworten: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

Beispiel

bash
curl -X PUT "$ARKVORY_URL/api/v1/backup/plan" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"expectedRevision":0,"enabled":false,"hour":0,"minute":0,"timezone":"<timezone>","retention":{"daily":0,"weekly":0,"monthly":0}}'

Ein Backup jetzt anfordern ​

POST /api/v1/backup/runs

Zugriff: Systemberechtigung backup.manage · Wiederholung: Wiederholen ist sicher mit demselben Idempotency-Key

Reiht außerhalb des Zeitplans eine Erfassung für den Backup-Agent ein und liefert 202 mit dem Job (kind capture); der Agent führt sie aus, danach Verifikation und Aufbewahrung. Idempotency-Key ist erforderlich: Dessen Wiederholung durch denselben Aufrufer liefert denselben Job. Verfolgen Sie den Job in listBackupJobs. Höchstens 100 Backup-Anforderungen dürfen gleichzeitig offen sein (507 queue_full); solange kein Agent online ist, wartet der Job.

Parameter

NameOrtTypErforderlichRegeln
Idempotency-KeyHeaderstringjaentspricht ^[A-Za-z0-9_.:-]{1,128}$; Repeat returns the same job; per caller and operation kind.

Antwort 202

FeldTypErforderlichRegeln
idstring (uuid)ja—
kindstringjaeiner von capture, verify, retention
statestringjaeiner von queued, running, committing, completed, failed, interrupted

Antworten: 202, 400, 401, 403, 404, 405, 409, 422, 503, 507

Beispiel

bash
curl -X POST "$ARKVORY_URL/api/v1/backup/runs" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"

Backup-Jobs auflisten ​

GET HEAD /api/v1/backup/jobs

Zugriff: Systemberechtigung backup.read · Wiederholung: Wiederholen ist sicher (Lesen)

Listet die Jobs zur Erfassung, Verifikation und Aufbewahrung auf, neueste zuerst, jeweils mit state (queued, running, committing, completed, failed, interrupted), phase, Zeiten, errorCode, dem entstandenen Punkt und progress (verarbeitete Bytes und Objekte). Seiten enthalten limit Jobs (1–100, Standard 50); weiter mit after = next.

Parameter

NameOrtTypErforderlichRegeln
afterQuerystringneinentspricht ^[0-9]{1,17}_[0-9a-f-]{36}$; next of the previous page
limitQueryintegernein1–100; Standard 50

Antwort 200

FeldTypErforderlichRegeln
itemsArray von objectjahöchstens 100 Elemente
items[].idstring (uuid)ja—
items[].kindstringjaeiner von capture, verify, retention
items[].statestringjaeiner von queued, running, committing, completed, failed, interrupted
items[].phasestringjaentspricht ^[a-z][a-z0-9_]{0,63}$; darf null sein
items[].startedAtstring (date-time)jaBeginn der Ausführung oder, solange eingereiht, die Zeit der Anfrage.
items[].finishedAtstring (date-time)jadarf null sein
items[].errorCodestringjaentspricht ^[a-z][a-z0-9_]{0,63}$; darf null sein
items[].pointIdstring (uuid)jadarf null sein
items[].progressobjectja—
items[].progress.bytesCopiedstringjaeine ganze Zahl in Dezimalziffern, als String gesendet; Verarbeitete Bytes: kopiert oder bereits im Backup-Speicher.
items[].progress.bytesTotalstringjaeine ganze Zahl in Dezimalziffern, als String gesendet
items[].progress.blobsCopiedintegerjamindestens 0
items[].progress.blobsTotalintegerjamindestens 0
nextstringjaentspricht ^[0-9]{1,17}_[0-9a-f-]{36}$; darf null sein

Antworten: 200, 400, 401, 403, 404, 409, 422, 503, 507

Beispiel

bash
curl -X GET "$ARKVORY_URL/api/v1/backup/jobs" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Wiederherstellungspunkte auflisten ​

GET HEAD /api/v1/backup/points

Zugriff: Systemberechtigung backup.read · Wiederholung: Wiederholen ist sicher (Lesen)

Listet die abgeschlossenen Wiederherstellungspunkte des aktuellen Backup-Speichers auf, neuester Snapshot zuerst, jeweils mit dem Snapshot-Zeitpunkt T, der Größe, den zum Backup-Speicher hinzugekommenen Bytes, der Angabe, ob er pinned (angeheftet) ist, und seiner letzten Verifikation (verifiedAt, verifyDepth structural oder deep, verifyError). Seiten enthalten limit Punkte (1–100, Standard 50); weiter mit after = next. Ein ersetzter Backup-Speicher zeigt nur seine eigenen Punkte.

Parameter

NameOrtTypErforderlichRegeln
afterQuerystringneinentspricht ^[0-9]{1,17}_[0-9a-f-]{36}$; next of the previous page
limitQueryintegernein1–100; Standard 50

Antwort 200

FeldTypErforderlichRegeln
itemsArray von objectjahöchstens 100 Elemente
items[].idstring (uuid)ja—
items[].snapshotAtstring (date-time)jaSnapshot-Zeitpunkt T; das Alter eines Punkts zählt ab T.
items[].completedAtstring (date-time)ja—
items[].blobsintegerjamindestens 0
items[].contentBytesstringjaeine ganze Zahl in Dezimalziffern, als String gesendet
items[].newBytesstringjaeine ganze Zahl in Dezimalziffern, als String gesendet; Bytes, die dieser Punkt zum Backup-Speicher hinzugefügt hat.
items[].tablesintegerjamindestens 0
items[].rowsintegerjamindestens 0
items[].pinnedbooleanja—
items[].verifiedAtstring (date-time)jadarf null sein
items[].verifyDepthstringjaeiner von structural, deep, null; darf null sein
items[].verifyErrorstringjaentspricht ^[a-z][a-z0-9_]{0,63}$; darf null sein
nextstringjaentspricht ^[0-9]{1,17}_[0-9a-f-]{36}$; darf null sein

Antworten: 200, 400, 401, 403, 404, 409, 422, 503, 507

Beispiel

bash
curl -X GET "$ARKVORY_URL/api/v1/backup/points" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Tiefenprüfung eines Wiederherstellungspunkts anfordern ​

POST /api/v1/backup/points/{id}/verify

Zugriff: Systemberechtigung backup.manage · Wiederholung: Wiederholen ist sicher mit demselben Idempotency-Key

Reiht eine Verifikation des Punkts id ein, die jedes gespeicherte Byte von ihm liest; die Antwort ist 202 mit dem Job, und das Ergebnis erscheint in verifiedAt, verifyDepth und verifyError des Punkts. Idempotency-Key ist erforderlich, und seine Wiederverwendung für einen anderen Punkt ergibt 409 idempotency_mismatch. Ein unbekannter Punkt ergibt 404.

Parameter

NameOrtTypErforderlichRegeln
idPfadstring (uuid)ja—
Idempotency-KeyHeaderstringjaentspricht ^[A-Za-z0-9_.:-]{1,128}$; Repeat returns the same job; per caller and operation kind.

Antwort 202

FeldTypErforderlichRegeln
idstring (uuid)ja—
kindstringjaeiner von capture, verify, retention
statestringjaeiner von queued, running, committing, completed, failed, interrupted

Antworten: 202, 400, 401, 403, 404, 405, 409, 422, 503, 507

Beispiel

bash
curl -X POST "$ARKVORY_URL/api/v1/backup/points/$ID/verify" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"

Wiederherstellungspunkt anheften oder Anheftung aufheben ​

PUT /api/v1/backup/points/{id}/pin

Zugriff: Systemberechtigung backup.manage · Wiederholung: Wiederholen ist sicher: Dieselbe Anfrage hat dieselbe Wirkung

Setzt pinned des Punkts id; ein angehefteter Punkt wird von der Aufbewahrung über die Richtlinie hinaus behalten, bis die Anheftung aufgehoben wird. Denselben Wert erneut zu setzen ändert nichts, und die Antwort ist der aktualisierte Punkt. Ein unbekannter oder bereits vergessener Punkt ergibt 404.

Parameter

NameOrtTypErforderlichRegeln
idPfadstring (uuid)ja—

Anfragetext (application/json)

FeldTypErforderlichRegeln
pinnedbooleanja—

Antwort 200

FeldTypErforderlichRegeln
idstring (uuid)ja—
snapshotAtstring (date-time)jaSnapshot-Zeitpunkt T; das Alter eines Punkts zählt ab T.
completedAtstring (date-time)ja—
blobsintegerjamindestens 0
contentBytesstringjaeine ganze Zahl in Dezimalziffern, als String gesendet
newBytesstringjaeine ganze Zahl in Dezimalziffern, als String gesendet; Bytes, die dieser Punkt zum Backup-Speicher hinzugefügt hat.
tablesintegerjamindestens 0
rowsintegerjamindestens 0
pinnedbooleanja—
verifiedAtstring (date-time)jadarf null sein
verifyDepthstringjaeiner von structural, deep, null; darf null sein
verifyErrorstringjaentspricht ^[a-z][a-z0-9_]{0,63}$; darf null sein

Antworten: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507

Beispiel

bash
curl -X PUT "$ARKVORY_URL/api/v1/backup/points/$ID/pin" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"pinned":false}'

Vorschau anzeigen, was die Backup-Aufbewahrung behält ​

GET HEAD /api/v1/backup/retention/preview

Zugriff: Systemberechtigung backup.read · Wiederholung: Wiederholen ist sicher (Lesen)

Zeigt, welche Punkte die Aufbewahrungsrichtlinie behalten würde, jeweils mit den Gründen (daily, weekly, monthly, pinned, newest), und welche sie jetzt löschen würde. Punkte, die die Verifikation nicht bestanden haben, werden nicht berücksichtigt. Die Vorschau ist unverbindlich: requestBackupRetention entscheidet beim Lauf erneut anhand des Backup-Speichers.

Antwort 200

FeldTypErforderlichRegeln
keepArray von objectja—
keep[].idstring (uuid)ja—
keep[].reasonsArray von stringjajedes Element: einer von daily, weekly, monthly, pinned, newest
deleteArray von objectja—
delete[].idstring (uuid)ja—

Antworten: 200, 400, 401, 403, 404, 409, 422, 503, 507

Beispiel

bash
curl -X GET "$ARKVORY_URL/api/v1/backup/retention/preview" \
  -H "Authorization: Bearer $ARKVORY_TOKEN"

Backup-Aufbewahrung anfordern ​

POST /api/v1/backup/retention/apply

Zugriff: Systemberechtigung backup.manage · Wiederholung: Wiederholen ist sicher mit demselben Idempotency-Key

Reiht einen Aufbewahrungs-Job ein: Der Agent vergisst die Punkte außerhalb der Richtlinie und entfernt dann Inhalte, die kein verbleibender Punkt mehr verwendet, sodass der Speicherplatz erst nach Abschluss des Jobs in den Backup-Speicher zurückkehrt. Liefert 202 mit dem Job; Idempotency-Key ist erforderlich, und seine Wiederholung liefert denselben Job. Sehen Sie sich zuerst previewBackupRetention an.

Parameter

NameOrtTypErforderlichRegeln
Idempotency-KeyHeaderstringjaentspricht ^[A-Za-z0-9_.:-]{1,128}$; Repeat returns the same job; per caller and operation kind.

Antwort 202

FeldTypErforderlichRegeln
idstring (uuid)ja—
kindstringjaeiner von capture, verify, retention
statestringjaeiner von queued, running, committing, completed, failed, interrupted

Antworten: 202, 400, 401, 403, 404, 405, 409, 422, 503, 507

Beispiel

bash
curl -X POST "$ARKVORY_URL/api/v1/backup/retention/apply" \
  -H "Authorization: Bearer $ARKVORY_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)"

Arkvory · ProAnimaStudio