[apple] Automator를 사용하여 폴더 / 파일 변경을 확인 하시겠습니까?

폴더 / 파일에서 변경 사항을 확인할 수있는 방법이 있습니까 (파일 추가, 파일 삭제, 파일 변경 등). Automator의 ‘폴더 작업’은 파일이 새로 추가되었는지 만 확인합니다.



답변

다음 명령을 사용하여 “쉘 스크립트 실행”조치를 추가 할 수 있습니다.

find <directory> -newermm <reference_file>

그러면 <directory>마지막 변경 이후에 변경된 모든 파일과 디렉토리가 제공됩니다 <reference_file>. <reference_file>Automator 스크립트를 실행할 때마다 수정해야합니다 .

man find추가 옵션 에 대해서는 찾기 매뉴얼 페이지 ( 터미널에 입력 )를 참조하십시오. 찾기는 매우 강력하고 검색을 구체화하는 것은 일반적으로 몇 가지 추가 옵션의 문제입니다. 예를 들어 다음 이후에 수정 된 디렉토리 만 검색합니다 <reference_file>.

find <directory> -type d -newermm <reference_file>

OSX와 함께 제공되는 버전이 충분하지 않은 findutils경우 약간 더 많은 기능이 포함 된 버전 (brew, macports 등)을 사용해 볼 수도 있습니다.


답변

Automator 로이 작업을 수행하는 방법을 모르지만 App Store에 Folder Watch라는 앱이 있습니다.


답변

마지막으로 확인했을 때 Automater는 백그라운드에서 Applescript를 사용하여 작업을 스크립팅합니다. Applescript에는 그다지 깊이가 없습니다. 디렉토리에있는 파일 목록을 얻을 수 있기 때문에 파일이 삭제되는 시점을 알 수는 있지만 파일의 변경 사항을 계산할 수는 없습니다.

실제로 활용해야 할 것은 파일 시스템 알림입니다. 그리고 그것이 짐승이기 때문에, 나는 kraymer의 조언을 받아 발사했습니다. 폴더의 내용이 변경 될 때마다 실행할 후크가 있습니다. Lingon (오래된 SourceForge 페이지 참조 )은 사람들이 런칭 할 수 있도록 도와주는 훌륭한 응용 프로그램입니다. 디렉토리가 수정 될 때 수행하려는 작업을 수행하기 위해 자동화 스크립트 / 응용 프로그램을 작성하고 시작된 작업을 호출하도록 할 수 있습니다.


답변

내 이전 답변을 확인할 수 있지만 원하는 것처럼 들립니다.

fs_usage -f filesys  

실행은 파일 변경을위한 방법이 아니며 fs_usage는 스포트라이트를 지원하는 기본 시스템을 사용합니다.

편집 : 나는 여기에 완전히 틀렸다. Launchd에는 파일 또는 디렉토리 변경 작업을 수행하는 것과 같은 기능이 필요합니다.

.plist 파일을 만듭니다.

“Conf 파일을위한 XML SUX!” (그렇습니다.)

시작된 작업에서 아래 키 중 하나 또는 둘 다를 사용하려고합니다.

WatchPaths <array of strings>
 This optional key causes the job to be started if any one of the listed
 paths are modified.

 QueueDirectories <array of strings>
 Much like the WatchPaths option, this key will watch the paths for modi-
 fications. The difference being that the job will only be started if the
 path is a directory and the directory is not empty.


답변