스크립트를 사용하여 이 논리를 구현하는 방법:
새로 들어오는 파일이 있는지 디렉터리를 살펴보세요. 3시간 동안 디렉터리에 파일이 수신되지 않았거나 수신된 파일이 비어 있는 경우 특정 작업을 수행합니다. 파일 이름은 동적으로 생성됩니다.
이것을 스크립트에 어떻게 넣나요?
답변1
것 같다HP-UX들어오는 파일에 반응하는 FAM/FSEvent/inotify와 같은 것은 없습니다. 이로 인해 폴링이 유일한 솔루션이 됩니다.
process
다음은 1분마다 실행되어 각각의 새 파일에 대해 프로그램을 호출(프로그램에 원하는 것을 무엇이든 넣음)한 다음 파일을 다른 디렉터리로 이동하는 개념 증명 스크립트입니다 . 파일을 다른 디렉터리로 이동하는 것은 파일을 여러 번 건너뛰거나 처리하게 만드는 경쟁 조건을 방지하기 위한 것입니다. 파일을 동일한 디렉터리에 보관해야 하는 경우 처리된 파일 목록을 유지 관리하세요.
#!/usr/bin/env ksh93
last_SECONDS=0
while sleep 60; do
new_files=$(find INCOMING -exec process {} \; -exec mv {} PROCESSED \; -print)
if [[ -n $new_files ]]; then
last_SECONDS=$SECONDS
elif ((SECONDS - last_SECONDS >= 3600 * 3)); then
echo "More than 3 hours without a new file"
fi
done