Verifikasi¶
Cadangan yang belum pernah dipulihkan hanyalah harapan. Tenax memulihkan cadangan Anda sesuai jadwal, memeriksanya, dan menandai yang lolos sebagai terverifikasi.
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:
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.