Macmini 서버에서 Snowleopard 10.6.8을 실행 중이며 파일이나 폴더가 지정된 폴더에서 삽입 / 편집 또는 삭제 될 때마다이 서버가 스크립트를 실행하기를 원합니다. 시스템이 켜져 있지만 로그인하지 않은 상태에서 네트워크를 통해이 동작을 수행하고 싶기 때문에 LaunchDeamon으로 설정된 .plist 스크립트를 만들었습니다. .plist는 다른 모든 .plists와 동일한 권한을 갖습니다. "시스템 : 읽기 및 쓰기. 휠 및 모든 사람 : 읽기 전용"
테스트 케이스로 lingon 2.1의 도움을 받아 다음 스크립트를 설정했습니다. 이 스크립트는 Desktop ( <WatchPaths>
)이 변경 사항을 감지하거나 무언가가 마운트 될 때 ( ) growltime.scpt를 실행해야합니다 <StartOnMount>
.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.watchfolder.growltime</string>
<key>ProgramArguments</key>
<array>
<string>osascript /Users/admin/growltime.scpt</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>StartOnMount</key>
<true/>
<key>WatchPaths</key>
<array>
<string>/Users/admin/Library/Desktop/</string>
</array>
</dict>
</plist>
이제 이상한 점은 디스크를 마운트하거나 설치 파일을 마운트 할 때만 growltime.scpt가 실행 <StartOnMount>
되지만 파일 또는 폴더가 데스크탑에서 삽입 / 편집 또는 삭제 된 경우에는 그렇지 않습니다 ( <WatchPaths>
).
내가 여기서 뭘 잘못하고 있니?