Scrip để xóa các tập tin cũ hơn 6 tháng


12

Thiết lập một công việc định kỳ mỗi tháng một lần để bắt đầu một kịch bản.

kịch bản là xoay một tệp mỗi tháng vì nó quá lớn và đổi tên tệp cũ. khi một tập tin cũ hơn sáu tháng tôi muốn xóa nó đi.

Tìm cách để chạy kịch bản này mỗi tháng một lần. Có thể xóa cái cũ không?

Xin vui lòng cho tôi biết nếu điều đó không đủ rõ ràng.


11
Tại sao không chỉ sử dụng logrotate?
Michael Hampton

@scottmarriott yeah, ông Hampton nói đúng, chức năng bạn mô tả về cơ bản là điều chính xác mà logrotate thực hiện.
Bratchley

Vâng, tôi vừa có một cái nhìn tốt về logrotate có ý nghĩa cổ vũ tất cả
scott marriott

@MichaelHampton bạn nên làm cho câu trả lời.
evilsoup

Câu trả lời:


20

Bạn có thể bắt đầu với điều này:

find /your/file -mtime +182 -exec rm {} +

Trong trường hợp +182là số lượng ngày.


Cảm ơn vì điều đó, có thể chơi với nó, nhưng tôi có thể logrotate có thể là lựa chọn tốt nhất
scott marriott

@jordanm bất kỳ ý tưởng tại sao điều này có thể không hoạt động?
scott marriott

ApplicationServer / log / TestClone01 $ ls -ltr tổng 3320 1048458 13 tháng 12 09:46 SystemOut_12.12.13_09.46.29.log 28 tháng 5 12:44 SystemOut.log.2013-05-28-12: 44: 52 71 30 tháng 5: 57 SystemOut.log.2013-05-30-08: 57: 22 48432 30 tháng 5 09:16 SystemOut.log no_env): / usr / websphere6 / was61TE_LV2 / ApplicationServer / log / TestClone01 $ tìm SystemOut.log -mtime +1 - exec rm {} + find: 0652-083 Không thể thực thi :: Một tệp hoặc thư mục trong tên đường dẫn không tồn tại.
scott marriott

Tôi đã thay đổi số ngày thành 1
scott marriott

@scottmarriott Không phải tất cả các phiên bản findhỗ trợ +/-cho -mtime. Bạn có hệ điều hành và phiên bản findnào?
jordanm

2

Bạn chỉ có thể sử dụng logrotate. Nó đã có sẵn trên hầu hết các hệ thống Linux và nhiều gói đã có các tập lệnh logrotate được cấu hình sẵn hoặc bạn có thể tinh chỉnh chúng hoặc viết riêng cho chúng.

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.