Thanos CLI: Một cú búng tay, nửa project bay màu

Nếu với anh em DBA, một buổi sáng chưa tỉnh táo thì hay thấy áp dụng drop table. Với anh em hạ tầng/DevOps như chúng ta thì sao. Hãy dùng Thanos, một tool CLI sẽ xóa ngẫu nhiên một nửa số tệp trong thư mục (backup chẳng hạn) bằng một cú búng tay :))

06c3ebe2-e8fe-4f69-a8d5-1a7472d95bed

Nói tỉnh ngủ cho dễ hiểu vậy chứ khi mò cũng thấy một chút những ứng dụng thực tế hay ho nên tìm hiểu chia sẻ các bác xem thử nhé

Thanos có gì hay?

Nhìn thì như công cụ của phản diện: búng tay phát là một nửa về với cát bụi. Nhưng cái hay của Thanos CLI không phải là phá cho vui mà phá để test, có kịch bản, có kiểm soát.

  • Chaos test siêu gọn: 1 lệnh là có cảnh mất file ngẫu nhiên để test backup, restore, runbook.
  • Seed: búng lại ra đúng cùng kịch bản, kiểu tua đúng 1 timeline để luyện đến khi hệ thống lì đòn.
  • Weighting: cho file bạn muốn bay dễ hơn như .tmp, .log, file to, file cũ… búng có mục tiêu.
  • Recursive: búng luôn cả cây thư mục, mô phỏng sự cố lan rộng chứ không chỉ một góc nhỏ.
  • Thanosignore: có .thanosignore kiểu .gitignore, bạn chỉ định thứ nào tuyệt đối không được đụng tới.

Những chiêu Thanos có để bạn đỡ toang

Ngoài đời không có Endgame để quay lại đâu, nên trước khi búng thì mặc giáp.

  • Dry-run: xem trước kết quả để khỏi lỡ tay bấm nhầm.
  • Trash mode: đưa file vào thùng rác thay vì xóa vĩnh viễn, lỡ búng còn cứu được.
  • Smart protection: tự né mấy thứ dễ toang như .git, node_modules, venv, .env và vài file hệ thống.
  • Thanosignore như khiên: khóa config, secrets, folder quan trọng từ đầu bằng .thanosignore.
  • Combo an toàn: lần đầu cứ --dry-run rồi --trash trong sandbox hoặc bản copy, đừng búng thẳng data thật.

Thanos hoạt động như thế nào?

Quy trình búng tay cơ bản:

  1. Quét file trong thư mục (có thể quét sâu cả thư mục con nếu bạn bật recursive).
  2. Loại trừ những thứ được bảo vệ sẵn (ví dụ .git, node_modules, venv, .env) và né các rule mà bạn tự khai báo trong .thanosignore.
  3. Chọn đúng một nửa số file còn lại để bốc hơi. Nếu lẻ thì lấy phần nguyên, ví dụ 11 file bay 5.
  4. Thực thi theo chế độ bạn chọn:
    • --dry-run: búng thử trên giấy, file vẫn sống khỏe
    • --trash: đưa vào thùng rác, lỡ tay còn cứu được
    • không dùng --trash: xóa vĩnh viễn, goodbye my friend

Cài đặt nhanh

Con tools này nó viết bằng python, anh em chạy đúng câu lệnh là sử dụng được ngay:

pip install thanos-cli

Cách dùng cơ bản

Cảnh báo: Tool này xóa bay màu vĩnh viễn. Anh em nhớ --dry-run trước, đã xóa rồi là không có load game đâu nha. Use at your own risk!

Bắt đầu bằng tạo cấu hình:

thanos init

Xem trước danh sách file sẽ bay (chưa xóa gì)

thanos snap --dry-run

Chạy theo chế độ an toàn, đưa vào thùng rác:

thanos snap --trash

Một vài cách dùng hay

Chạy trong một thư mục cụ thể

thanos snap --dry-run /path/to/folder
thanos snap --trash  /path/to/folder

Dùng seed để lần nào cũng ra đúng cùng một kết quả

Hợp để giả lập có kịch bản và test backup/restore.

thanos snap --dry-run --seed 42
thanos snap --trash   --seed 42

Quét luôn cả thư mục con

Nhớ dry-run trước vì phạm vi rộng hơn nhiều.

thanos snap --dry-run --recursive
thanos snap --trash   --recursive

Loại trừ thứ không được đụng tới bằng .thanosignore

Tạo .thanosignore (cú pháp như .gitignore), ví dụ:

dist/
build/
.cache/
*.env
*.key

Rồi chạy:

thanos snap --dry-run --recursive
thanos snap --trash   --recursive

Điều chỉnh độ dễ bay bằng .thanosrc.json

Dùng khi bạn muốn file tạm/log dễ bị chọn hơn file quan trọng.

thanos init
# chỉnh .thanosrc.json theo ý
thanos snap --dry-run
thanos snap --trash

Tập thử trên thư mục test cho chắc tay

mkdir -p /tmp/thanos-lab && cd /tmp/thanos-lab
touch file{1..20}.txt
thanos snap --dry-run
thanos snap --trash

Kết

Thanos là một tool vui mà có ích nếu bạn dùng đúng chỗ: test backup, giả lập phục hồi, hoặc dọn sandbox theo kiểu có kiểm soát. Chỉ cần nhớ nguyên tắc an toàn: luôn dry-run trước, và ưu tiên trash mode thay vì xoá vĩnh viễn.

Thông tin nổi bật

Sự kiện phát trực tiếp​

Event Thumbnail

Báo cáo quan trọng

Article Thumbnail
Article Thumbnail

Sự kiện đang hiện hành

Chia sẻ bài viết:
Theo dõi
Thông báo của
0 Góp ý
Được bỏ phiếu nhiều nhất
Mới nhất Cũ nhất
Phản hồi nội tuyến
Xem tất cả bình luận

Tiêu điểm chuyên gia