2012-11-15 35 views
5

Tôi đang cố viết một tập lệnh sẽ đổi tên và lưu trữ các tệp nhật ký nhưng tôi không thể tìm ra tệp đó. Dưới đây là ví dụ về cách hoạt động: Nếu bạn có tệp có tên error_log và bạn chạy tập lệnh của mình lần đầu tiên, hãy đổi tên tệp error_log thành error_log.1 và sau đó lưu trữ error_log.1 bằng gzip. Lần thứ hai bạn chạy tập lệnh của mình, bạn sẽ có hai tệp: error_log và error_log.1.gz, bây giờ bạn nên đổi tên error_log.1.gz thành error_log.2.gz; error_log đến error_log.1 và một lần nữa lưu trữ error_log.1 đến error_log.1.gz bằng gzip.Tập lệnh Bash để lưu trữ các tệp nhật ký

Trả lời

7

Điều bạn đang tìm kiếm có tên là logrotate, đó là lệnh quản trị cơ bản Unix để xoay nhật ký như bạn muốn.

Xem man 8 logrotate

Ví dụ về một tập tin cấu hình đơn giản:

/var/log/apache/error_log { 
     daily 
     rotate 90  # keep only 90 logs 
     copytruncate # don't stop apps, but copy log 
     compress  # gzip log in *.gz 
} 
Các vấn đề liên quan