파일 이벤트 모니터링 패키지 (incrontab)
CentOS 8 에서 테스트 했습니다.
Ubuntu 20.04 에서는 데몬 시작시 incrond 대신 incron 을 사용합니다.
1. 설치
# yum -y install incron
또는
# cd /usr/local/src
# wget http://rpmfind.net/linux/epel/8/Everything/x86_64/Packages/i/incron-0.5.12-12.el8.x86_64.rpm
# rpm -ivh incron-0.5.12-12.el8.x86_64.rpm
2. 사용 방법
우선 incrond 를 실행 합니다.
# systemctl enable incrond
# systemctl start incrond
설정 방법은 crontab 과 유사 합니다.
아래와 같은 설정을 통해 원하는 작업을 실행 시킬 수 있으며,
설정값이 저장되면 crond 와 마찬가지로 incrond 데몬 재시작 없이도 적용이 됩니다.
# incrontab -e
/data IN_CLOSE_WRITE /root/run.sh |
* 참고
Ubuntu 20.04 에서 아래와 같은 메세지가 출력된다면, 이는 incrontab 명령을 허용할 계정 리스트를 별도로 관리하고 있기 때문입니다.
# incrontab -e
user 'root' is not allowed to use incron
# vi /etc/incron.allow
root
* 위 설정 내용을 설명합니다.
/data 디렉토리 내의 파일 감시
파일 쓰기 작업을 끝낸 경우 (IN_CLOSE_WRITE )
/root/run.sh 파일을 실행합니다.
* 파일 이벤트 형태는 아래와 같이 다양합니다. (man page)
> 괄호 안의 * 표시는 디렉토리와 파일에 모두 적용 됩니다.
IN_ACCESS File was accessed (read) (*)
IN_ATTRIB Metadata changed (permissions, timestamps, extended attributes, etc.) (*)
IN_CLOSE_WRITE File opened for writing was closed (*)
IN_CLOSE_NOWRITE File not opened for writing was closed (*)
IN_CREATE File/directory created in watched directory (*)
IN_DELETE File/directory deleted from watched directory (*)
IN_DELETE_SELF Watched file/directory was itself deleted
IN_MODIFY File was modified (*)
IN_MOVE_SELF Watched file/directory was itself moved
IN_MOVED_FROM File moved out of watched directory (*)
IN_MOVED_TO File moved into watched directory (*)
IN_OPEN File was opened (*)
'리눅스 > OS 일반' 카테고리의 다른 글
CMD 에서 명령 결과를 변수에 저장하기 (0) | 2020.06.04 |
---|---|
Ubuntu 18.04 에 /etc/rc.local 이 안보일 경우 (0) | 2020.06.02 |
ubuntu 18.04 에 와인 (wine) 설치하기 (0) | 2020.04.01 |
타임스탬프(timestamp) <-> 날짜 상호 변환 명령어 (0) | 2020.03.02 |
sed 로 파일 아래에서 부터 원하는 라인수 만큼 지우기 (0) | 2020.02.28 |