~/.config/systemd/user
직장에서 로그인 할 때 업무 데이터를 백업하기 위해 다음 서비스 파일을 만들었습니다 .
[Unit]
Description=Backup Work Related Files
[Service]
Type=oneshot
ExecStartPre=/usr/bin/ping -c 1 -W 1 xxx
ExecStart=/usr/bin/rsync -avzuhH --progress --delete --exclude=.Trash-1000 /some/folder/ xxx@xxx:Documents/backup
ExecStart=/usr/bin/rsync -avzuhH --progress file xxx@xxx:Documents/backup/file
을 사용하여 서비스를 찾을 수 있으며으로 서비스를 systemctl --user list-unit-files
시작할 수도 있습니다 systemctl --user start backup_work.service
. 어떤 이유로이 서비스에 대한 로그를 journalctl --user -u backup_work.service
. 저널에서 정상적으로 볼 때 rsync 및 ping 로그가 표시되지만 서비스 파일로 필터링 할 수 없습니다.
서비스 파일에서 변경해야 할 사항이 있습니까?
--user-unit=
사용자 단위에는 다른 메타 데이터가 첨부되어 있으므로 필터링 해야 합니다.
$ SYSTEMD_LOG_LEVEL=debug journalctl --user-unit=foobar
Journal filter: (((_UID=0 OR _UID=1000) AND OBJECT_SYSTEMD_USER_UNIT=foobar.service)
OR ((_UID=0 OR _UID=1000) AND COREDUMP_USER_UNIT=foobar.service)
OR (_UID=1000 AND USER_UNIT=foobar.service)
OR (_UID=1000 AND _SYSTEMD_USER_UNIT=foobar.service))
-u
항상 시스템 단위에 대한 필터를 추가합니다.이 필터는 --user
읽을 저널 파일 만 선택하는와 독립적입니다 . (대부분의 경우 --user가 필요하지 않습니다.)
$ SYSTEMD_LOG_LEVEL=debug journalctl --unit=foobar
Journal filter: ((OBJECT_SYSTEMD_UNIT=foobar.service AND _UID=0)
OR (UNIT=foobar.service AND _PID=1)
OR (COREDUMP_UNIT=foobar.service AND _UID=0 AND MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1)
OR _SYSTEMD_UNIT=foobar.service)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다