programing

systemd가 있는 데이터베이스 파일에 대해 모니터 파일 변경이 작동하지 않음

topblog 2023. 8. 31. 23:33
반응형

systemd가 있는 데이터베이스 파일에 대해 모니터 파일 변경이 작동하지 않음

아래 경로에 있는 파일 시스템의 데이터베이스 파일 하나를 모니터링합니다.

/var/lib/mysql/mydatabase/onetable.idb

systemd 서비스를 설정했는데 파일이 바뀌었는지 인식이 안 됩니다.내가 이 파일을 수정하면 아무 일도 일어나지 않지만, 권한이 수정되면 작동합니다.이 파일도 알림 대기로 모니터링하려고 했는데 결과가 똑같았습니다.

시스템이 root로 실행되는 것으로 알고 있기 때문에 허가에는 문제가 없다고 생각합니다.파일을 직접 나열할 수 있기 때문에 경로가 100% 유효합니다.

innotify.7 man 페이지에서:

   The inotify API does not report file accesses and modifications that
   may occur because of mmap(2), msync(2), and munmap(2).

이러한 루틴은 데이터베이스 구현에 자주 사용됩니다.

crontab에 이 코드를 삽입하여 임시로 이 문제를 해결했습니다.

*/3 * * * * test "`sudo find /var/lib/mysql/mydatabase/onetable.idb -mmin -4`" && /etc/myscript.sh

이 트리거 기반 스크립트 실행을 수행하려고 하므로 영구적인 해결책은 아닙니다.

언급URL : https://stackoverflow.com/questions/54271217/monitor-file-changing-doesnt-works-for-database-file-with-systemd

반응형