다른 파일의 이름을 바꿔 파일을 덮어쓸 때 systemd 경로가 더 이상 서비스를 트리거하지 않습니다.

다른 파일의 이름을 바꿔 파일을 덮어쓸 때 systemd 경로가 더 이상 서비스를 트리거하지 않습니다.

systemd.path장치가 특정 파일을 모니터링 하는 설정이 있습니다 .

[Unit]
Description=Watch config file for changes

[Path]
PathChanged=/path/to/my/config.file

[Install]
WantedBy=multi-user.target

.service사양이 동일한 파일 이름 확장자로 저장되는 위치입니다 .

  • 지금까지는 systemd 239-68.0.2임시 복사본을 만들고 config.file이를 수정하고 mv이름을 바꾸면() config.file가 트리거되었습니다 .service.
  • 그러면 systemd 239-74.0.1더 이상 이렇지 않습니다. 편집기에서 명시적으로 열어야 하는데(예 nano: ) 서비스가 이미 트리거되었습니다.저장하거나 닫을 때뿐만 아니라 파일을 열 때에도. 무엇하다cp작업은 임시 파일을 다시 복사()하여 파일을 덮어쓰는 것입니다 config.file.
  • PathChanged또는 사용 여부에 관계없이 동작은 동일합니다 PathModified.
  • touch파일을 사용하여 타임스탬프를 업데이트해도 서비스가 트리거되지 않습니다.

이러한 행동 변화는 의도적인 것이었습니까? "이전" 동작으로 돌아가려면 어떻게 해야 합니까? 이는 일반적으로 스크립트가 여러 변경을 수행 config.file하고 모든 수정 시 서비스가 트리거되는 것을 원하지 않기 때문에 제가 선호하는 것입니다.

( ) "수동"으로 임시 파일을 복사 cp하고 삭제하는 것은 확실히 선택 사항이지만 여러 위치에서 변경이 필요하므로 피하고 싶습니다.

관련 정보