디렉토리에서 새 파일을 찾고 명령을 실행하기위한 스크립트


0

몇 개 또는 수백 개의 xml 파일이 들어있는 디렉토리가 있습니다. 새 파일이 발견되면 스크립트를 실행하고 싶습니다. 유일한 주요 문제는 inotifywait 또는 이와 유사한 것을 사용할 수 없다는 것입니다. 설치 권한의 제한으로 인해 (권리가 있지만 공급 업체가 유지 관리하기 때문에 계약으로 인해 허용되지 않습니다). 따라서 기본 Linux 도구를 사용하여 스크립트를 사용할 수 있지만 새 도구를 설치할 수는 없습니다. 한 가지 추가 참고 사항은 꽤 오래된 OS 용으로 작성해야한다는 것입니다. 용도 10.2.

누군가가 올바른 방향을 가리 키도록 도울 수 있기를 바랍니다.

문안 인사,

답변:


0

다음은 루프에서 "find -newer"를 사용하는 간단한 bash 스크립팅의 간단한 예입니다.

#!/bin/bash
while [ 1 ]; do
  newfiles=`find /tmp -newer /tmp/.my_marker 2>/dev/null`
  touch /tmp/.my_marker
  if [ -n "$newfiles" ]; then
    echo "found files $newfiles"
  fi
  sleep 5
done

이 예제에서 스크립트는 매번 업데이트 된 /tmp/.my_marker의 수정 시간을 사용하여 마지막 루프 이후 변경된 파일을 / tmp에서 찾습니다. 다음 점검 전에 루프가 5 초 동안 대기합니다.

동작은 찾은 파일의 에코 일 뿐이므로 대신 자신의 동작을 넣을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.