Quá trình chạy dài / ghi thiết bị xuất chuẩn vào tệp / phân chia ở các khối X GB


0

Tôi có một quá trình chạy dài và tôi hy vọng các tệp nhật ký sẽ chạy vào nhiều hàng trăm GB. Chương trình là một nhị phân được biên dịch sẵn - vì vậy tôi không thể sửa đổi logic trong mã.

Có một lệnh như công cụ (như tee) mà tôi có thể chuyển hướng đầu ra của mình. Công cụ này sau đó sẽ ghi các thiết bị xuất chuẩn của quá trình chạy dài của tôi vào đĩa và bắt đầu viết một tệp mới ngay khi tôi đạt đến một giới hạn nhất định (giả sử, 1GB).

Đây là những gì tôi có trong tâm trí:

%> long-running.sh | responsible-logger --max-length 1G output%02d.log

Câu trả lời:


1

logrotate là một cú hích lớn của unix để phân chia số lượng các bản ghi tùy ý cho các phần của các thuộc tính đã cho. Một công cụ nhỏ hơn nhưng tiêu chuẩn hơn được phân chia có thời gian học ngắn hơn: http://linux.die.net/man/1/split


Tôi không nhận ra bạn cũng có thể sử dụng splitvới đầu vào có đường ống - Tôi nghĩ rằng tôi sẽ tuân theo điều đó!
Utkarsh Sinha
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.