Lewati ke isi

Verifikasi

Cadangan yang belum pernah dipulihkan hanyalah harapan. Tenax memulihkan cadangan Anda sesuai jadwal, memeriksanya, dan menandai yang lolos sebagai terverifikasi.

in a BackupPolicy
spec:
  verify:
    schedule: "17 4 * * 0"          # weekly, Sunday 04:17 in the policy's time zone
    checks: [inventory-matches, row-estimates-within-10pct, target-checks]
    randomPointInTime: true          # also restore a random second inside the window

Sesuai jadwal, controller membuat Restore ke sandbox dari cadangan terbaru, dan dari titik acak di dalam jendela jika ada aliran. Lalu controller menjalankan pemeriksaan:

Pemeriksaan Lolos jika
inventory-matches Tabel yang dipulihkan dan sidik jari skemanya cocok dengan inventaris cadangan.
schema-matches Sidik jari skemanya cocok.
row-estimates-within-NNpct Jumlah baris setiap tabel berada dalam NN % dari perkiraan inventaris.
target-checks Setiap pemeriksaan SQL yang dideklarasikan pada target mengembalikan true.

Pemeriksaan target adalah SQL biasa yang harus mengembalikan satu nilai true:

in a BackupTarget
spec:
  checks:
    - name: orders-not-empty
      database: app
      sql: select count(*) > 0 from orders
    - name: recent-orders
      database: app
      sql: select max(created_at) > now() - interval '2 days' from orders

Proses yang lolos menandai cadangan sebagai verified dan mencatat waktu pemulihannya, yang diekspor sebagai tenax_verify_rto_seconds. Proses yang gagal memicu TenaxVerificationFailed; jika tidak ada proses yang berhasil selama 8 hari, TenaxVerificationOverdue dipicu. Jalankan secara manual dengan tenax verify team-a/app --wait, atau dengan Verifikasi sekarang di halaman target.