사실 최근에 syslog.conf 파일에 오타가 있었지만 처음에는 데몬을 다시 시작할 수 없는 이유를 전혀 몰랐습니다. 우분투에서는 상당히 오랜 대기 시간이 지난 후 FAIL 메시지만 받는 것 같습니다.
그래도 안되면 오타가 있을지도 모른다고 생각하기 전에 무의미하게 로그를 무작위로 검색하지 않고 찾을 수 있는 방법이 없을까요?
편집: 데몬을 시작/다시 시작/등에 서비스를 사용하면 단순한 실패 이상의 것을 제공해야 한다고 생각합니다. 어쩌면 그것이 사실일 수도 있고 어디를 봐야할지 모르겠지만 다른 서비스에도 비슷한 어리석은 문제가 있다면 쉽게 해결할 수 있기를 바랍니다.
답변1
아마도 가장 쉬운 방법은 syslogd
디버그 스위치를 사용하는 것입니다 -d
. syslogd
이렇게 수동으로 호출 할 수 있습니다 .
먼저 현재 실행 중인 항목을 비활성화합니다 syslogd
.
$ sudo service syslogd stop
그런 다음 다음 스위치를 사용하여 수동으로 실행하십시오.
$ sudo syslogd -d -f /etc/syslog.conf
예
syslogd
사용 가능한 작업이 없지만 에서 작동합니다 rsyslogd
. 여기에서 호출합니다 rsyslogd
.
$ sudo rsyslogd -d -f /etc/rsyslog.conf
1647.845869757:7fab7df4b720: rsyslogd 4.6.3 startup, compatibility mode 0, module path ''
1647.846009627:7fab7df4b720: caller requested object 'net', not found (iRet -3003)
1647.846026890:7fab7df4b720: Requested to load module 'lmnet'
1647.846035733:7fab7df4b720: loading module '/lib64/rsyslog/lmnet.so'
1647.846155408:7fab7df4b720: module of type 2 being loaded.
1647.846167849:7fab7df4b720: source file conf.c requested reference for module 'lmnet', reference count now 1
1647.846178301:7fab7df4b720: rsyslog runtime initialized, version 4.6.3, current users 1
1647.846196912:7fab7df4b720: source file syslogd.c requested reference for module 'lmnet', reference count now 2
1647.848016526:7fab7df4b720: module of type 1 being loaded.
시험
그런 다음 명령줄 도구를 사용하여 logger
다양한 유형의 메시지 를 syslogd
.rsyslogd
테스트 메시지 보내기
$ logger -t testmsg "hello world."
결과
2439.368194624:7f461fee9700: Message from UNIX socket: #3 2439.368226046:7f461fee9700: logmsg: flags 4, from 'grinchy', msg Aug 20 03:07:19 testmsg: hello world. 2439.368234458:7f461fee9700: Message has legacy syslog format. 2439.368247194:7f461fee9700: main Q: entry added, size now 1 entries 2439.368257698:7f461fee9700: wtpAdviseMaxWorkers signals busy 2439.368271525:7f461fee9700: main Q: EnqueueMsg advised worker start 2439.368283031:7f461fee9700: --------imuxsock calling select, active file descriptors (max 3): 3 2439.368305014:7f46206ea700: main Q: entry deleted, state 0, size now 0 entries 2439.368329151:7f46206ea700: testing filter, f_pmask 127 2439.368340032:7f46206ea700: Called action, logging to builtin-file 2439.368354849:7f46206ea700: file to log to: /var/log/messages 2439.368361837:7f46206ea700: doWrite, pData->pStrm 0x7f462480a310, lenBuf 46 2439.368370439:7f46206ea700: strm 0x7f462480a310: file 5(messages) flush, buflen 46 2439.368413234:7f46206ea700: strm 0x7f462480a310: file 5 write wrote 46 bytes 2439.368424063:7f46206ea700: testing filter, f_pmask 0 2439.368431098:7f46206ea700: testing filter, f_pmask 0 2439.368437738:7f46206ea700: testing filter, f_pmask 0 2439.368444401:7f46206ea700: testing filter, f_pmask 1 2439.368450861:7f46206ea700: testing filter, f_pmask 0 2439.368457433:7f46206ea700: testing filter, f_pmask 0 2439.368464826:7f46206ea700: main Q:Reg/w0: worker IDLE, waiting for work.
로그 파일 메시지
Aug 20 03:07:12 grinchy testmsg: hello world.
다른 예시
샘플 메시지
$ logger -p daemon.warn "this is only a test."
결과
2008.317255462:7f3d13a95700: Message from UNIX socket: #3 2008.317287162:7f3d13a95700: logmsg: flags 4, from 'grinchy', msg Aug 20 03:00:08 saml: this is only a test. 2008.317295844:7f3d13a95700: Message has legacy syslog format. 2008.317307482:7f3d13a95700: main Q: entry added, size now 1 entries 2008.317317586:7f3d13a95700: wtpAdviseMaxWorkers signals busy 2008.317328948:7f3d13a95700: main Q: EnqueueMsg advised worker start 2008.317339316:7f3d13a95700: --------imuxsock calling select, active file descriptors (max 3): 3 2008.317362187:7f3d14296700: main Q: entry deleted, state 0, size now 0 entries 2008.317375008:7f3d14296700: testing filter, f_pmask 127 2008.317386832:7f3d14296700: Called action, logging to builtin-file 2008.317401184:7f3d14296700: file to log to: /var/log/messages 2008.317409775:7f3d14296700: doWrite, pData->pStrm 0x7f3d17506310, lenBuf 51 2008.317418935:7f3d14296700: strm 0x7f3d17506310: file 5(messages) flush, buflen 51 2008.317454814:7f3d14296700: strm 0x7f3d17506310: file 5 write wrote 51 bytes 2008.317466838:7f3d14296700: testing filter, f_pmask 0 2008.317474391:7f3d14296700: testing filter, f_pmask 0 2008.317481448:7f3d14296700: testing filter, f_pmask 0 2008.317488503:7f3d14296700: testing filter, f_pmask 1 2008.317495259:7f3d14296700: testing filter, f_pmask 0 2008.317502407:7f3d14296700: testing filter, f_pmask 0 2008.317509079:7f3d14296700: main Q:Reg/w0: worker IDLE, waiting for work.
이 줄에는 우리의 메시지가 포함되어 있습니다
2008.317287162:7f3d13a95700: logmsg: 플래그 4, 'grinchy'에서, msg 8월 20일 03:00:08 saml: 이것은 단지 테스트일 뿐입니다.
완료되면 Ctrl+를 눌러 C종료하세요.