AgentKit
Tài liệuBộ kitTham chiếu CLIỨng dụng Desktop

ak backups

ak backups prune

Preview hoặc xoá rollback snapshot bằng quy tắc giữ theo tuổi và số lượng rõ ràng.

Dùng ak backups prune để thu hồi dung lượng trong kho rollback của AgentKit. Lệnh mặc định có tính phá huỷ và không bao giờ hỏi xác nhận.

Cách dùng

ak backups prune [flags]

Lệnh không nhận argument theo vị trí.

Tuỳ chọn

CờMặc địnhMô tả
--older-than <duration>TrốngXoá snapshot cũ hơn Go duration như 168h, hoặc hậu tố ngày như 30d.
--keep-last <n>0Giữ lại n snapshot mới nhất.
--dry-runfalseIn cùng deletion plan nhưng không xoá snapshot.

Các cờ đầu ra dùng chung nằm trong quy ước CLI. Lệnh không có --apply hay --force: bỏ --dry-run nghĩa là áp dụng plan.

Hiểu retention policy

Một snapshot được giữ khi bất kỳ lớp bảo vệ phù hợp nào giữ nó:

  • snapshot được đánh dấu protected;
  • snapshot nằm trong số --keep-last bản mới nhất; hoặc
  • snapshot trẻ hơn khoảng --older-than.

Khi có cả hai quy tắc dương, lệnh giữ hợp của hai tập—kết quả bảo vệ nhiều hơn sẽ thắng. Nếu không đặt quy tắc nào, hoặc cả hai resolve thành 0, lệnh không làm gì.

ak backups prune --older-than 30d --keep-last 5 --dry-run

Preview này giữ mọi snapshot protected, mọi snapshot trong 30 ngày gần nhất và năm snapshot mới nhất ngay cả khi chúng cũ hơn.

Chỉ truyền giá trị retention không âm. Implementation hiện tại không từ chối --keep-last hoặc --older-than âm; giá trị đó không tạo bảo vệ theo số lượng hay tuổi và có thể chọn mọi snapshot không protected để xoá.

Hậu tố ngày dD được chấp nhận, kể cả giá trị thập phân. Giá trị khác theo cú pháp Go duration và phải có đơn vị. Giá trị trần như 30 không hợp lệ.

Xem lại tác động phá huỷ

Prune đọc manifest trong ~/.agentkit/backups/ (hoặc $AGENTKIT_HOME/backups/) và chỉ xoá thư mục snapshot nằm ngoài tập được giữ. Lệnh không dùng mạng, xác thực, entitlement, provider hay cache.

Quá trình xoá dùng prune lock không chờ để manual prune và auto-prune đồng thời không chọn cùng snapshot. Thư mục ứng viên được đổi tên thành tombstone ẩn dưới registry lock ngắn, rồi mới bị xoá. Lần prune sau sẽ dọn tombstone còn lại nếu tiến trình bị ngắt. Tranh chấp khoá thoát 4.

Lệnh không xác minh hash snapshot trước khi xoá. Hãy chạy dry-run và kiểm tra những bản quan trọng cần giữ:

ak backups prune --keep-last 5 --dry-run
ak backups verify <id-to-keep>
ak backups prune --keep-last 5

Đầu ra và luồng

Stdout dành cho người dùng hiển thị danh sách ID KeepRemove. Dry-run thêm dòng dry-run only; no backups removed. Lệnh không hỏi hoặc đọc stdin.

JSON stdout dùng một success envelope:

{
  "schema_version": 1,
  "kind": "backups.prune",
  "data": {
    "deleted": ["20260426T123005Z-deadbeef"],
    "dry_run": true
  }
}

Trong dry-run, data.deleted có nghĩa “sẽ xoá”. JSON không chứa danh sách được giữ. --quiet ẩn đầu ra thành công dạng human, còn --json ưu tiên hơn --quiet. Lỗi runtime ở chế độ JSON đi ra stderr bằng error envelope; lỗi parse argument hoặc cờ có thể xảy ra trước khi renderer này hoạt động.

Kết quả và mã thoát

Mã thoátÝ nghĩaBước tiếp theo an toàn
0Plan hoàn tất, kể cả no-op hoặc dry-run.Xem lại đầu ra; với dry-run, chỉ bỏ --dry-run khi tập Remove chính xác.
1Liệt kê, reconcile, đổi tên hoặc xoá thất bại; Cobra cũng dùng nhánh này cho argument theo vị trí ngoài dự kiến. Một số ứng viên có thể đã mất.Liệt kê snapshot lại và kiểm tra kho trước khi thử lại.
2Không parse được cờ hoặc --older-than không phải duration hợp lệ.Sửa cách gọi; thêm đơn vị duration rõ ràng.
4Một thao tác prune hoặc vòng đời backup khác đang giữ khoá liên quan.Đợi thao tác hoàn tất, liệt kê snapshot rồi thử lại.

Mỗi ứng viên được thử xoá độc lập, nên mã 1 có thể đi kèm một lần prune chỉ hoàn tất một phần. Không có thao tác undo tích hợp sau khi thư mục snapshot bị xoá.

Lệnh liên quan