
나는 절대로 종료되지 않도록 설계된 프로그램을 작성하고 있습니다. 이 프로그램은 또한 프로그램이 수행 중인 작업에 대한 큰 로그(파일)를 생성합니다. 내가 원하는 것은 Linux 프로세스가 주기적으로(X분마다(cronjob?)) 수행하는 것입니다.
- 현재 로그 파일에서 현재 로그를 가져옵니다.
- 오프라인 저장/제거를 위해 별도의 파일(적절한 이름)에 넣습니다.
- 데이터가 중복되지 않도록 현재 로그 파일을 자릅니다.
모두데이터 손실이나 중단 없이프로듀싱 프로그램에 그래서 나는 시간으로 구분된 일련의 로그로 끝납니다.
이에 대한 Linux 유틸리티나 알려진 솔루션이 있습니까? 아니면 프로그램에 이 로깅 기능을 구축해야 합니까?
답변1
Linux는 syslogd
로그 파일 관리에 사용됩니다. 나는 이것을 개인적으로 사용하지 않았기 때문에 문제가 무엇인지 잘 모르겠지만 본질적으로 로그에 메시지를 보내고 데몬이 파일 회전 등을 처리합니다.
여기를 보아라:http://linux.die.net/man/3/syslog
/etc/syslog.conf
메시지를 특정 파일로 라우팅하도록 구성하고 , logrotate
제 생각에는 크론 작업을 설정하거나 을 사용하여 로그를 수동으로 회전할 수도 있습니다.
답변2
일반적으로 데몬은 로그만 작성하고 그 이상은 작성하지 않습니다. 로그 회전은 다른 소프트웨어의 작업입니다. 보통 그렇죠로그로테이션또는 유사한 소프트웨어.