Trong unix, cách tốt nhất để giảm kích thước của tệp nhật ký lớn đang được tích cực ghi vào là gì?


11

Trên máy chủ linux, tôi muốn giảm kích thước tệp nhật ký lớn vài GB. Cắt bỏ nửa trên, hoặc có thể hàng triệu dòng đầu tiên sẽ hoạt động.

Câu trả lời:


12

Điều này xuất hiện trong các cuộc phỏng vấn khá thường xuyên ...

Bạn đang tìm cách cắt bớt tập tin mà không làm gián đoạn quá trình? Có bất kỳ thông tin trong tệp nhật ký có giá trị? Nếu vậy, tôi thường "zero" tệp với chuỗi bash đơn giản.

: > /var/log/badlogfile

Điều này xuất hiện trong các tình huống mà bạn có thể có một ứng dụng không thể khởi động lại một cách có kiểm soát. Giả sử đó là một ứng dụng giao dịch tài chính và chương trình không thể bị dừng hoặc khởi động lại trong ngày giao dịch. Tuy nhiên, các tệp nhật ký đang phát triển với một số tốc độ tục tĩu do lỗi ứng dụng. Cắt bớt các tệp nhật ký bằng phương pháp trên hoặc dưới có thể giữ cho hệ thống chạy.

Xem thêm: http://www.cyberciti.biz/faq/truncate-large-text-file-in-unix-linux/


1
là dấu hai chấm để chỉ ra một dấu nhắc, hoặc điều đó thực sự đi vào lệnh?
Phil

Dấu hai chấm là một phần của lệnh.
ewwhite

Bạn không thực sự cần đại tràng.
MikeyB

Đó là một không-op. Nó không cần thiết, nhưng tôi thích giữ nó ở đó khi tôi đưa ra khuyến nghị.
ewwhite

Điều này không làm việc cho tôi, nhật ký đã không thay đổi kích thước. Nó đã về 0, nhưng sau đó trở lại kích thước đầy đủ
thouliha

2

Bạn có thể đặt nó trong logrotate, sau đó nó sẽ không vượt khỏi tầm kiểm soát một cách dễ dàng


Cuối cùng điều đó cần phải xảy ra. Tôi là người mới trong công việc này ...
Phil

1

Nếu nó chủ động được viết cho bạn thì bạn thực sự không thể làm được gì nhiều bằng cách cắt ngắn. Tùy chọn duy nhất của bạn là để trống tệp (trước tiên bạn có thể sao chép tệp đó.)

echo "" >/var/log/fileYouWantToEmpty

Bằng cách đó, tệp kết thúc trống nhưng vẫn là cùng tệp / inode nên nó sẽ không phá vỡ chương trình đang ghi nhật ký.


0

Bạn cũng có thể thử cat / dev / null> / var / log /. Nhưng, tôi phải cảnh báo / dev / null không được triển khai trong một số phiên bản cũ hơn ...


cắt bớt tập tin không hiệu quả với tôi, tôi đã làm bài kiểm tra trên centos 7 và vào ngày 5
c4f4t0r
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.