Câu trả lời:
Đ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/
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ý.
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 ...