영어프랑스어스페인어

Ad


온웍스 파비콘

inotifywait - 클라우드의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 inotifywait를 실행하세요.

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 inotifywait 명령입니다.

프로그램:

이름


inotifywait - inotify를 사용하여 파일 변경을 기다립니다.

개요


inotify기다려 [-hcmrq] [-e ] [-t ] [--체재 ] [--timefmt ]
[ ... ]

기술


inotify기다려 Linux를 사용하여 파일 변경을 효율적으로 기다립니다. inotify(7) 상호 작용. 그것
쉘 스크립트에서 파일 변경을 기다리는 데 적합합니다. 한 번 종료할 수 있습니다.
이벤트가 발생하거나, 발생하는 이벤트를 지속적으로 실행하여 출력합니다.

출력


inotify기다려 표준 오류에 대한 진단 정보와 이벤트 정보를 출력합니다.
표준 출력. 이벤트 출력을 구성할 수 있지만 기본적으로 라인으로 구성됩니다.
다음 형식의:

watch_filename EVENT_NAMES event_filename

watch_filename
이벤트가 발생한 파일의 이름입니다. 파일이 디렉터리인 경우
후행 슬래시가 출력됩니다.

EVENT_NAMES
발생한 inotify 이벤트의 이름은 쉼표로 구분됩니다.

event_filename
디렉토리에서 이벤트가 발생한 경우에만 출력되며, 이 경우 이름은
이 이벤트를 발생시킨 디렉터리 내의 파일이 출력됩니다.

기본적으로 파일 이름의 특수 문자는 어떤 방식으로도 이스케이프되지 않습니다. 이것
awk 스크립트 등에서 inotifywait의 출력을 구문 분석하기 어렵게 만들 수 있습니다.
XNUMXD덴탈의 --csv--체재 이 경우 옵션이 도움이 될 것입니다.

옵션


-시간, --도움
유용한 사용 정보를 출력합니다.

@
디렉토리 트리를 재귀적으로 감시할 때 지정된 파일을 제외합니다.
보았다. 파일은 다음에 따라 상대 또는 절대 경로로 지정해야 합니다.
감시된 디렉토리에 대한 상대 경로 또는 절대 경로가 제공되는지 여부. 만약
특정 경로가 명시적으로 포함되고 제외되면 항상 감시됩니다.

참고 : 이름이 @로 시작하는 디렉토리나 파일을 감시해야 하는 경우
절대 경로.

--파일에서
파일에서 감시하거나 제외할 파일 이름을 읽습니다(한 줄에 하나의 파일 이름). 만약에
파일 이름은 @로 시작하며 위에서 설명한 대로 제외됩니다. 만약에 '-',
파일 이름은 표준 입력에서 읽습니다. 시청해야 하는 경우 이 옵션을 사용하세요.
명령줄 인수로 전달할 많은 파일.

-미디엄, --감시 장치
단일 이벤트를 수신한 후 종료하는 대신 무기한 실행합니다. 그만큼
기본 동작은 첫 번째 이벤트가 발생한 후 종료하는 것입니다.

-NS, --악마
--monitor와 동일합니다. 단, 백그라운드에서 실행되어야 하는 파일에 이벤트를 로깅합니다.
--outfile로 지정해야 합니다. --syslog를 의미합니다.

-영형, --아웃파일
이벤트 출력 표준 출력보다는.

-에스, --syslog
오류 출력 대상 syslog(3) stderr이 아닌 시스템 로그 모듈.

-NS, -재귀
인수로 전달된 모든 디렉토리의 모든 하위 디렉토리를 살펴보십시오. 시계는
무제한 깊이까지 재귀적으로 설정합니다. 심볼릭 링크는 통과되지 않습니다. 새로운
생성된 하위 디렉터리도 감시됩니다.

경고: 큰 트리의 루트 디렉토리를 보면서 이 옵션을 사용하면,
모든 inotify 감시가 설정되고 이벤트가 완료될 때까지 꽤 시간이 걸릴 수 있습니다.
이 시간에 받지 않습니다. 또한 하나의 inotify 시계가
하위 디렉토리별로 설정되어 있는 경우 inotify의 최대 양이 가능합니다.
사용자당 시청 수에 도달합니다. 기본 최대값은 8192입니다. 그것은 증가 될 수 있습니다
글을 써서 /proc/sys/fs/inotify/max_user_watches.

-NS, --조용한
한 번 지정하면 프로그램이 덜 장황해집니다. 구체적으로는 그렇지 않을 것이다.
모든 inotify 감시 설정이 완료되면 상태를 표시합니다.

두 번 지정하면 프로그램은 다음의 경우를 제외하고는 아무것도 출력하지 않습니다.
치명적인 오류.

--들어오지 못하게 하다
파일 이름이 지정된 POSIX 확장과 일치하는 이벤트를 처리하지 마십시오.
정규 표현식, 대소문자 구분.

--제외
파일 이름이 지정된 POSIX 확장과 일치하는 이벤트를 처리하지 마십시오.
정규식, 대소문자를 구분하지 않습니다.

-t , --시간 초과
해당 이벤트가 발생하지 않은 경우 종료 초. 만약에
XNUMX(기본값)이면 이벤트를 무기한 기다립니다.

-e , --이벤트
특정 이벤트만 수신합니다. 청취할 수 있는 이벤트가 나열됩니다.
FBI 증오 범죄 보고서 이벤트 부분. 이 옵션은 두 번 이상 지정할 수 있습니다. 생략하면,
모든 이벤트가 수신됩니다.

-씨, --csv
CSV(쉼표로 구분된 값) 형식으로 출력됩니다. 이는 파일 이름이 다음과 같은 경우에 유용합니다.
공백이 포함되어 있습니다. 이 경우 단순히 출력을 분할하는 것은 안전하지 않기 때문입니다.
각 공백 문자.

--timefmt
허용되는 시간 형식 문자열을 설정합니다. strftime(3) `%T'와 함께 사용하기 위해
--format 옵션으로 변환합니다.

--체재
printf와 유사한 구문을 사용하여 사용자가 지정한 형식으로 출력합니다. 이벤트 문자열
출력은 약 4000자로 제한되며 이 길이로 잘립니다.
다음 변환이 지원됩니다.

%w 이벤트가 발생한 감시 파일의 이름으로 대체됩니다.

%f 디렉터리 내에서 이벤트가 발생하면 해당 디렉터리의 이름으로 대체됩니다.
이벤트를 발생시킨 파일입니다. 그렇지 않으면 다음으로 대체됩니다.
빈 문자열.

%e 발생한 이벤트로 대체되며 쉼표로 구분됩니다.

%Xe 발생한 이벤트로 대체되며, 문자로 구분됩니다.
'X'의 장소.

%T --timefmt 옵션에 지정된 형식의 현재 시간으로 대체됩니다.
전달하기에 적합한 형식 문자열이어야 합니다. strftime(3).

EXIT 지위


0 프로그램이 성공적으로 실행되었으며 청취 중이던 이벤트가 발생했습니다.
에 대한.

1 프로그램 실행 중 오류가 발생했거나, 실행되지 않은 이벤트가 발생했습니다.
귀를 기울이고 있습니다. 후자는 일반적으로 다음과 같은 일이 발생하는 경우 발생합니다.
감시된 파일이 삭제되거나 삭제되는 등 inotify watch를 강제로 제거합니다.
마운트 해제되는 감시 파일이 포함된 파일 시스템.

2 XNUMXD덴탈의 -t 옵션을 사용했는데, 지정된 시간 간격으로 이벤트가 발생하지 않았습니다.
시간.

이벤트


다음 이벤트는 -e 옵션 :

ACCESS 감시 파일 또는 감시 디렉토리 내의 파일을 읽었습니다.

수정 감시 파일 또는 감시 디렉토리 내의 파일이 기록되었습니다.

ATTRIB 감시 파일 또는 감시 디렉토리 내의 파일의 메타데이터가 수정되었습니다.
여기에는 타임스탬프, 파일 권한, 확장 속성 등이 포함됩니다.

닫기_쓰기
감시된 파일 또는 감시된 디렉토리 내의 파일이 열린 후 닫혔습니다.
쓰기 가능 모드에서. 이것은 반드시 파일이 기록되었음을 의미하지는 않습니다.

close_nowrite
감시된 파일 또는 감시된 디렉토리 내의 파일이 열린 후 닫혔습니다.
읽기 전용 모드에서.

가까운 방법에 관계없이 감시 파일 또는 감시 디렉토리 내의 파일이 닫혔습니다.
그것은 열렸다. 이것은 실제로 두 가지를 모두 수신함으로써 간단하게 구현됩니다.
닫기_쓰기close_nowrite, 따라서 수신된 모든 닫기 이벤트는 다음과 같이 출력됩니다.
이 중 하나가 아닌 닫다.

열 수 감시 파일 또는 감시 디렉토리 내의 파일이 열렸습니다.

이동_이동
파일 또는 디렉토리가 감시된 디렉토리로 이동되었습니다. 이 이벤트는 다음과 같은 경우에도 발생합니다.
파일은 단순히 동일한 디렉토리에서 이동됩니다.

이동_에서
파일 또는 디렉토리가 감시된 디렉토리에서 이동되었습니다. 이 이벤트는 다음과 같은 경우에도 발생합니다.
파일은 단순히 동일한 디렉토리에서 이동됩니다.

움직임 파일 또는 디렉토리가 감시된 디렉토리에서 또는 그 디렉토리로 이동되었습니다. 이것은
실제로는 둘 다 듣기만 하면 구현됩니다. 이동_이동이동_에서, 금후
수신된 모든 닫기 이벤트는 이 중 하나 또는 둘 모두로 출력됩니다. 이동하다.

move_self
감시된 파일 또는 디렉토리가 이동되었습니다. 이 이벤트 후 파일 또는 디렉토리는
더 이상 감시되지 않습니다.

만들 파일 또는 디렉토리가 감시된 디렉토리 내에 생성되었습니다.

삭제 감시된 디렉토리 내의 파일 또는 디렉토리가 삭제되었습니다.

delete_self
감시된 파일 또는 디렉토리가 삭제되었습니다. 이 이벤트 후 파일 또는 디렉토리는
더 이상 감시되지 않습니다. 이 이벤트는 그렇지 않은 경우에도 발생할 수 있습니다.
명시적으로 듣고 있습니다.

언 마운트하다
감시 파일 또는 디렉토리가 있는 파일 시스템이 마운트 해제되었습니다. 후에
이 이벤트는 파일 또는 디렉토리가 더 이상 감시되지 않습니다. 참고로 이 이벤트는
명시적으로 듣고 있지 않은 경우에도 발생할 수 있습니다.

사용 예


1
명령줄에서 inotifywait를 실행하여 'test' 디렉터리의 모든 파일이 완료될 때까지 기다립니다.
액세스했습니다. inotifywait를 실행한 후 `cat test/foo'가 별도의 콘솔에서 실행됩니다.

% inotifywait 테스트
시계를 설정합니다.
시계가 설립되었습니다.
테스트/액세스 foo

2
httpd 관련 로그 메시지를 효율적으로 기다리고 작업을 수행하는 짧은 쉘 스크립트
적당한.

#!/ 빈 / SH
inotifywait -e가 /var/log/messages를 수정하는 동안; 하다
tail -n1 /var/log/messages | grep httpd; 그 다음에
kdialog --msgbox "아파치에는 사랑이 필요합니다!"
fi


3
사용자 정의 출력 형식은 `를 보는 데 사용됩니다.~/테스트'. 그 사이 누군가 '터치'를 실행한다
~/테스트/불량파일; 만지다 ~/테스트/좋은 파일; RM ~/테스트/불량파일' 다른 콘솔에서.

% inotifywait -m -r --format '%:e %f' ~/테스트
시계를 설정합니다. 주의하세요: -r이 주어졌기 때문에 시간이 좀 걸릴 수 있습니다!
시계가 설립되었습니다.
배드파일 생성
OPEN 불량파일
ATTRIB 불량파일
CLOSE_WRITE:CLOSE 잘못된 파일
좋은 파일 만들기
OPEN 좋은 파일
ATTRIB 좋은 파일
CLOSE_WRITE:CLOSE 좋은 파일
불량 파일 삭제

경고


inotifywait를 사용할 때 출력되는 파일 이름이 최신인지 보장되지 않습니다.
모니터링되는 것은 inode이기 때문에 이동 후. 또한,
관찰된 작업은 inotifywait 파일 이름에서 수행된 것으로 보장됩니다.
파일이 파일 시스템에서 여러 이름으로 알려진 경우 모니터링하도록 지시합니다.

onworks.net 서비스를 사용하여 온라인으로 inotifywait 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad