파일을 복사하도록 디렉터리 수신기를 설정하는 방법

파일을 복사하도록 디렉터리 수신기를 설정하는 방법

디렉토리에 앉아서 새 디렉토리나 파일이 추가되면 각 파일을 다른 위치에 재귀적으로 복사하는 Bash 스크립트를 만들고 싶습니다. 예를 들어:

  • 내 홈 디렉터리에 앉아서 듣도록 스크립트를 설정할 수 있습니다./home/

  • test그런 다음 다음을 포함하는 새 디렉토리를 추가하면test.txt

  • 스크립트는 예를 들어 다음 위치에 복사됩니다 test/test.txt./home/user/Desktop/test

설치할 수 없습니다 inotifywait. 가능합니까? 감사해요

답변1

당신이 할 수 있는 것은 아래와 같은 기능을 사용하여 매시간 실행되는 cronjob을 갖는 것입니다. 물론 다른 시간을 사용할 수도 있습니다.

find /home/user/ --mmin -60 -exec echo This file changed: {} \;

그러면 위의 60분과 같이 주어진 시간 내에 수정된 모든 파일이 출력됩니다.

여기 제가 생각해낸 예가 있습니다. 변경된 디렉터리만 복사하므로 루트의 최상위 디렉터리만 복사하므로 효율적이지 않습니다.

find /home/name/* -maxdepth 0 -mmin -60 -exec cp -r {} /some/other/dir/ \;

관련 정보