Linux에서 Bash에서 syslog를 확인하는 방법
C에서는, 다음과 같이 로그에 기록합니다.
syslog( LOG_INFO, "proxying %s", url );
Linux에서는 로그를 어떻게 확인할 수 있습니까?
어때.less /var/log/syslog?
Fedora 19에서 정답은/var/log/messages확인은 하지만/etc/rsyslog.conf변경되었을 경우.
디폴트로는 다음 위치에 있는 시스템로그에 기록됩니다./var/log/syslog다음 사용자가 읽을 수 있습니다.
tail -f /var/log/syslog
파일이 존재하지 않는 경우는, 체크해 주세요./etc/syslog.confsyslogd 컨피규레이션파일을 표시합니다.컨피규레이션파일이 다를 수 있으므로 다른 파일을 사용하는 경우 실행 중인 프로세스를 확인합니다.
# ps wuax | grep syslog
root /sbin/syslogd -f /etc/syslog-knoppix.conf
주의: 일부 배포판(Knoppix 등)에서는 기록된 모든 메시지를 다른 단말기(예:/dev/tty12)에 액세스 합니다.tty12++AltF12를 눌러보세요.
를 사용할 수도 있습니다.lsof어떤 로그 파일을 검색하기 위한 도구입니다.syslogd프로세스가 사용되고 있습니다.
sudo lsof -p $(pgrep syslog) | grep log$
셸 내의 syslogd에 테스트메시지를 발송하려면 다음 절차를 수행합니다.
echo test | logger
트러블 슈팅에는 트레이스 툴을 사용합니다(straceLinux의 경우dtruss예를 들어 다음과 같습니다.
sudo strace -fp $(cat /var/run/syslogd.pid)
매우 쿨한 유틸리티는journalctl.
예를 들어 콘솔에 syslog를 표시하려면 다음 절차를 수행합니다.journalctl -t <syslog-ident>,어디에<syslog-ident>기능하기 위해 부여한 아이덴티티입니다.openlogsyslog를 초기화합니다.
tail -f /var/log/syslog | grep process_name어디에process_name우리가 관심 있는 프로세스의 이름입니다.
Vim을 선택하면 Syslog 파일에 대한 구문 강조 표시가 내장되어 있습니다.예를 들어 오류 메시지가 빨간색으로 강조 표시됩니다.
vi +'syntax on' /var/log/syslog
일부 Linux 시스템(Debian 및 Ubuntu 등)에서는 syslog가 매일 순환되며 오래된 파일은 압축되지 않고 최신 파일 2개가 압축된 로그 파일이 여러 개 있습니다.
$ ls -l /var/log/syslog*
-rw-r----- 1 root adm 888238 Aug 25 12:02 /var/log/syslog
-rw-r----- 1 root adm 1438588 Aug 25 00:05 /var/log/syslog.1
-rw-r----- 1 root adm 95161 Aug 24 00:07 /var/log/syslog.2.gz
-rw-r----- 1 root adm 103829 Aug 23 00:08 /var/log/syslog.3.gz
-rw-r----- 1 root adm 82679 Aug 22 00:06 /var/log/syslog.4.gz
-rw-r----- 1 root adm 270313 Aug 21 00:10 /var/log/syslog.5.gz
-rw-r----- 1 root adm 110724 Aug 20 00:09 /var/log/syslog.6.gz
-rw-r----- 1 root adm 178880 Aug 19 00:08 /var/log/syslog.7.gz
모든 syslog 파일을 검색하려면 다음 명령을 사용합니다.
$ sudo zcat -f `ls -tr /var/log/syslog*` | grep -i error | less
여기서 zcat은 먼저 모든 syslog 파일을 압축 해제하고 인쇄하고 grep은 검색을 수행하며 검색 결과를 페이징합니다.
syslog 파일 이름이 앞에 붙은 행을 사용하여 동일한 작업을 수행하려면 zgrep을 사용합니다.
$ sudo zgrep -i error `ls -tr /var/log/syslog*` | less
$ zgrep -V | grep zgrep
zgrep (gzip) 1.6
어느 경우든 syslog 파일을 일반 사용자가 읽을 수 없는 경우 sudo가 필요합니다.
언급URL : https://stackoverflow.com/questions/6074362/how-to-check-syslog-in-bash-on-linux
'programing' 카테고리의 다른 글
| div 내부의 이미지에 이미지 아래에 여분의 공간이 있습니다. (0) | 2023.04.18 |
|---|---|
| Bash 함수의 값을 반환합니다. (0) | 2023.04.18 |
| WPF에서의 스크롤바의 이니블화 (0) | 2023.04.18 |
| 하나의 워크북에서 복사하여 다른 워크북에 붙여넣기 (0) | 2023.04.18 |
| iOS 버전 확인 방법 (0) | 2023.04.18 |