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 :))

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ó
.thanosignorekiể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,.envvà 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-runrồi--trashtrong 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:
- 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).
- 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. - 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.
- 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.







