Tôi đang cố gắng tạo một số tập lệnh sao lưu khi các tệp nhật ký ngày càng lớn hơn. Những gì tôi có là đối phó với tệp hiện tại, (ví dụ: secure
tệp trong /var/log/
) và xóa nội dung khỏi tệp đó. Nhưng có một số tập tin có tên như: secure.1
, secure.2
và tất cả điều này tôi muốn đếm chúng, và nếu số lượng lớn sau đó 2
để lưu trữ tất cả. Tôi không thể tìm thấy phương pháp để tìm tập tin này hoặc đếm chúng. Ý nghĩ đầu tiên đến với tôi là:
find /var/log/ -name *.1 | wc -l
và điều này sẽ luôn luôn in 1
như có một tập tin secure.1
. Làm thế nào tôi có thể đếm như trong vòng lặp trong đó tôi có thể chỉ định một phạm vi số giống {1..5}
hoặc tương tự. Có cách nào để tách các tệp này và làm cho chúng thành một và chúng sao lưu hoặc xóa hoặc bất cứ điều gì ... hoặc trước hết làm thế nào tôi có thể tìm thấy tất cả các số này kết thúc bằng số.
logrotate
cho mục đích của bạn.
find /var/log/ -name '*.1' ...