Xóa tất cả ảnh chụp nhanh Snapper


16

OpenSUSE (trong số các bản phân phối khác) sử dụng snapper để chụp ảnh nhanh các phân vùng btrfs . Một số người nghĩ rằng các khoảng thời gian chụp nhanh mặc định chiếm quá nhiều không gian quá nhanh, nhưng dù bạn có tin hay không, có những lúc bạn muốn xóa không gian trên hệ thống tệp của mình và thường thấy rằng các ảnh chụp nhanh btrfs đang chiếm một khoảng không gian đáng kể. Hoặc, trong các trường hợp khác, bạn có thể muốn xóa hệ thống tệp của tất cả dữ liệu dư thừa trước khi di chuyển nó đến / từ VM hoặc thay đổi phương tiện lưu trữ hoặc một cái gì đó dọc theo các dòng đó.

Nhưng, tôi dường như không thể tìm thấy một lệnh để nhanh chóng xóa sạch tất cả các snapper snapper đã thực hiện, thông qua snapper hoặc một công cụ khác. Làm thế nào tôi sẽ làm điều này?

Câu trả lời:


24

Lệnh trong các phiên bản gần đây của snapper là (Tôi không nhớ khi nó được giới thiệu, nhưng phiên bản trong ví dụ, openSUSE 13.2 hỗ trợ điều này):

snapper delete number1-number2

Vì vậy, để xóa tất cả các ảnh chụp nhanh (giả sử bạn không có hơn 100000 ảnh), bạn sẽ làm:

snapper delete 1-100000

Rõ ràng điều này chỉ xóa các snapshot trên cấu hình gốc mặc định, vì vậy đối với một cấu hình khác, nó sẽ là:

snapper -c configname delete number1-number2

Tôi hiện đang gặp lỗi: Không tìm thấy ảnh chụp '100000'.
Pavel imerda

ty, ty, ty. Lưu ý, toán tử phạm vi không hoạt động, tôi phải xóa thủ công tất cả 20 ảnh chụp nhanh.
Paul Vixie

4

Bạn có thể sử dụng một forvòng lặp để xóa tất cả các ảnh chụp nhanh trong một phạm vi (chạy dưới dạng root ).

# for i in `seq 1 999`; do snapper delete $i; done

Điều này sẽ đạt một số mục không hợp lệ (khi số này không tương ứng với ID ảnh chụp nhanh), điều này sẽ dẫn đến một bản ghi lỗi vô hại.

Để xác định phạm vi (giới hạn dưới và giới hạn trên) của ID ảnh chụp nhanh, để vòng lặp sẽ không chạy dài một cách không cần thiết, hãy sử dụng:

snapper list

Tôi tìm thấy giải pháp này cùng với một cuộc thảo luận về cách giảm các cài đặt khoảng thời gian và lưu giữ cá hồng .


-1

Nếu bạn đang làm việc trên một phiên bản cũ hơn của snapper như trên Debian jessie, bạn có thể sử dụng bash-extend:

snapper delete {1..999}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.