삭제된 로그 파일(/var/log/daemon.log(삭제))을 삭제합니다.

삭제된 로그 파일(/var/log/daemon.log(삭제))을 삭제합니다.

현재 하드 드라이브 공간이 부족한 Debian 서버가 있는데 이 lsof | grep deleted | less명령을 사용하여 공간을 모두 사용했지만 해제되지 않은 문제 있는 파일을 발견했습니다.

in:imklog   462   518             root    7w      REG                8,1 11199498620    1448243 /var/log/daemon.log (deleted)

99.999%의 시간 동안 다시 시작하면 이러한 파일이 해제된다는 것을 알고 있지만 이는 권장되지 않습니다.

가 아닌 파일을 삭제하면 logrotate이 문제가 발생하여 문제가 해결될 것입니다. 그러나 제 질문은 재부팅하지 않고 보관된 파일을 해제하고 공간을 확보할 수 없다는 것입니다. 응, 어때?

미리 감사드립니다.

답변1

로그 파일을 열어 둘 수 있는 위치(아마도)에 다시 로드/다시 시작하거나 HUP신호( )를 보냅니다 . 아마도 systemd를 실행 중일 것입니다.kill -1rsyslogd

systemctl restart rsyslog.service

아니면 /etc/init.d/rsyslog restart달리고 있는 경우 sysvinit.

그러면 rsyslogd가 구성 파일을 다시 로드하고 모든 로그 파일을 닫았다가 다시 엽니다.

(참고: 대부분의 데몬에서 "reload"는 구성 파일을 다시 로드하거나 파일을 닫았다가 다시 열도록 하는 데 사용되는 키워드이고, "restart"는 중지했다가 시작하는 데 사용됩니다. 어떤 이유로 "restart"는 rsyslog 데몬에 HUP 신호를 보내 다시 로드를 트리거하기 위해 debian rsyslog 패키지와 함께 사용됨)

해당 로그 파일에 대한 열린 파일 핸들을 보유하는 프로세스가 없으면 사용 중인 공간이 해제됩니다.

관련 정보