문서화되지 않은 기능인 버그로보고 됨
이 주제 에 관한 버그 보고서가 있습니다 . 때문에 rsyslog
이미 여러 부팅 저널을 유지 /var/log/syslog
하고 syslog.1
, .2.gz
, .3.gz
... syslog.7.gz
개발자는 별도의 유지 느꼈다 journalctl
디스크 공간을 낭비 할 로그를.
버그 보고서는 2018 년 1 월 3 일 에 새로운 설치의 rsyslog
경우 더 이상 기본값이 아니며 journalctl
여러 부팅 데이터 로그를 유지 한다고 나타 냅니다.
우분투를 다시 설치하지 않고 여러 부팅 로그 만들기
우리 중 대부분은 새로운 설치를하지 않으므로 여러 journalctl
부팅 로그 를 활성화 할 수 있습니다.
$ sudo mkdir -p /var/log/journal
$ sudo systemd-tmpfiles --create --prefix /var/log/journal
Cannot set file attribute for '/var/log/journal', value=0x00800000, mask=0x00800000: Operation not supported
이 github 보고서 에 따르면 "파일 속성을 설정할 수 없습니다" 라는 경고 메시지를 무시할 수 있습니다.
선택적 영구 저장소 설정
몇 달 동안 이전 부팅 로깅을 사용한 후 다음과 같이 설정할 수있는 다른 옵션 을 발견 했습니다 /etc/systemd/journald.conf
.
에서 journald.conf man 페이지 :
저장 =
저널 데이터를 저장할 위치를 제어합니다. "휘발성", "지속적", "자동"및 "없음"중 하나입니다. "휘발성"인 경우 저널 로그 데이터는 메모리에만 저장됩니다 (예 : / run / log / journal 계층 구조 (필요한 경우 작성 됨)). "지속적"인 경우 데이터는 디스크에, 바람직하게 /var/log/journal
는 /run/log/journal
초기 부팅 중에 디스크에 쓰기 가능하지 않은 경우 (필요한 경우 생성되는) 계층 구조 아래 (필요한 경우 생성됨)에 저장됩니다. "auto"는 "persistent"와 유사하지만 /var/log/journal
필요한 경우 디렉토리 가 작성되지 않으므로 로그 데이터의 위치를 제어합니다. "없음"은 모든 스토리지를 끄고 수신 된 모든 로그 데이터가 삭제됩니다. 콘솔과 같은 다른 대상으로 전달 그러나 커널 로그 버퍼 또는 syslog 소켓은 여전히 작동합니다. 기본값은 "auto"입니다.
간단히 말해서 주석을 제거하고 행을 다음과 같이 수정하십시오.
Storage=persistent
이전 부츠 목록 표시
$ journalctl --list-boots
-15 58a9e56135564cd8a52d547b19e76bf5 Fri 2018-02-02 18:34:35 MST—Fri 2018-02-02 23:07:14 M
-14 3514e056440341b1b6e5f03d109681bc Sat 2018-02-03 06:05:12 MST—Sat 2018-02-03 08:07:44 M
-13 0d1a32dc275348589f5ecdc72180c018 Sat 2018-02-03 08:08:05 MST—Sat 2018-02-03 08:08:34 M
-12 74159b593f3a401589ee6bd78e31684b Sat 2018-02-03 08:08:51 MST—Sun 2018-02-04 08:32:09 M
-11 4b394a9aad584ab2bfabe3b77eeed78f Sun 2018-02-04 08:32:26 MST—Mon 2018-02-05 16:54:02 M
-10 8e461ed2593c4fd896ca3b71eb3c0fba Mon 2018-02-05 16:54:34 MST—Tue 2018-02-06 03:54:30 M
-9 ec7ba0e4dfe241c0b9c978d278fcca6d Tue 2018-02-06 03:54:47 MST—Tue 2018-02-06 16:25:02 M
-8 b5c110267c214c38b63d0a367197d118 Tue 2018-02-06 16:25:19 MST—Thu 2018-02-08 16:49:03 M
-7 75c3b117ac6a4de984dc3ced15edb7f8 Thu 2018-02-08 16:49:22 MST—Fri 2018-02-09 03:51:09 M
-6 7338bd1007bc42dda5c8667eeefe1a59 Fri 2018-02-09 03:51:26 MST—Fri 2018-02-09 16:55:52 M
-5 4b6cd0121327454ca3db035c7ed42df6 Fri 2018-02-09 16:56:09 MST—Sat 2018-02-10 07:55:14 M
-4 0d56207f9ec0405ca3a3fd638334de2f Sat 2018-02-10 07:55:32 MST—Mon 2018-02-12 22:16:05 M
-3 0f230cc546fd4aec8f5233e0074ab3e1 Tue 2018-02-13 03:57:20 MST—Wed 2018-02-14 22:58:56 M
-2 c0d2c0141dd840cbab75d3c2254f8781 Wed 2018-02-14 22:59:13 MST—Sat 2018-02-17 22:46:14 M
-1 aafb2573a6374e019a7165cb8eee74a0 Sun 2018-02-18 06:02:03 MST—Mon 2018-02-19 04:16:36 M
0 8462f1969c6f4d61973e7e245014b846 Mon 2018-02-19 04:16:53 MST—Tue 2018-02-20 18:51:42 M
마지막 부팅 로그 표시
$ journalctl -b-1
-- Logs begin at Fri 2018-02-02 18:34:35 MST, end at Thu 2018-03-01 16:43:25 MST. --
Feb 28 20:03:15 alien systemd-journald[290]: Runtime journal (/run/log/journal/) is 8.0M,
Feb 28 20:03:15 alien kernel: Linux version 4.14.23-041423-generic (kernel@kathleen) (gcc
Feb 28 20:03:15 alien kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-4.14.23-041423-generi
Feb 28 20:03:15 alien kernel: KERNEL supported cpus:
Feb 28 20:03:15 alien kernel: Intel GenuineIntel
Feb 28 20:03:15 alien kernel: AMD AuthenticAMD
Feb 28 20:03:15 alien kernel: Centaur CentaurHauls
Feb 28 20:03:15 alien kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point
Feb 28 20:03:15 alien kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Feb 28 20:03:15 alien kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Feb 28 20:03:15 alien kernel: x86/fpu: Supporting XSAVE feature 0x008: 'MPX bounds registe
Feb 28 20:03:15 alien kernel: x86/fpu: Supporting XSAVE feature 0x010: 'MPX CSR'
Feb 28 20:03:15 alien kernel: x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256
Feb 28 20:03:15 alien kernel: x86/fpu: xstate_offset[3]: 832, xstate_sizes[3]: 64
Feb 28 20:03:15 alien kernel: x86/fpu: xstate_offset[4]: 896, xstate_sizes[4]: 64
Feb 28 20:03:15 alien kernel: x86/fpu: Enabled xstate features 0x1f, context size is 960 b
Feb 28 20:03:15 alien kernel: e820: BIOS-provided physical RAM map:
Feb 28 20:03:15 alien kernel: BIOS-e820: [mem 0x0000000000000000-0x0000000000057fff] usabl
lines 1-19
-b-1
다른 참조와 다른 매개 변수에주의를 기울이십시오 . 에서 man 페이지 :
-b [ID][±offset], --boot=[ID][±offset]
특정 부팅 메시지를 표시합니다. "_BOOT_ID ="와 일치하는 항목이 추가됩니다.
인수가 비어있을 수 있으며,이 경우 현재 부팅에 대한 로그가 표시됩니다.
부팅 ID가 생략되면 양수 오프셋은 저널의 시작 부분에서 시작하는 부트를 찾고, 0보다 크거나 같지 않은 저널은 저널 끝에서 시작하는 부트를 찾습니다. 따라서 1은 저널에서 시간순으로 발견 된 첫 번째 부팅을 의미하고 2는 두 번째 등을 의미합니다. -0은 마지막 부팅이고 -1은 마지막 부팅 전 등입니다. 빈 오프셋은 현재 부팅이 마지막 부팅이 아닌 경우를 제외하고 -0을 지정하는 것과 같습니다 (예 : --directory가 다른 시스템의 로그를 보도록 지정 되었기 때문에).
그런 다음 가끔 cron
또는 타이머 를 사용 하여 이전 로그를 정리할 수 있습니다 .
journalctl --vacuum-time=2d # keep last two days or
journalctl --vacuum-size=300M # keep last 300MB
systemctl restart systemd-journald
또는killall -USR1 systemd-journald
해야합니다 . 또한의 주석Storage=auto
을 해제하십시오/etc/systemd/journald.conf
.