Max*_*sen 5 usb storage mount shell-script macos
在 OSX 下安装驱动器时如何运行脚本?
我的用例是,当我的 USB 存储器/硬盘驱动器插入我的 USB 读卡器时,我想从我的 USB 存储器/硬盘驱动器中自动复制图像,当插入 DVD 或 CD 时,我想将其复制以存储在我的媒体中心。
我试过使用马可波罗(如在这个相关问题中提到的),但从我所看到的,它只能检测到某个 USB 设备的存在,而不是特定硬盘驱动器的存在。
您可以编写一个用户启动守护程序,该守护程序在安装文件系统时运行。这里的线程http://forums.macosxhints.com/archive/index.php/t-89968.html应该可以帮助您入门。
您需要编写一个launchd plist,它在安装任何文件系统时运行脚本。然后,您的脚本应检查您感兴趣的卷是否已安装,然后执行它需要执行的任何操作。
您是否需要以 root 或用户身份运行?这将决定你的 plist 是进入 /Library/LaunchDaemons 还是 ~/Library/LaunchDaemons。如果是后者,它只会在用户登录时运行。
更新 - emmby 指出 URL 不再有效。总之,您需要在启动守护程序中使用 StartOnMount 键。例如(从http://stuff-things.net/2015/03/18/backups-with-rsync-and-launchd/复制):
<?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>net.stuff-things.backup-to-dropbox</string>
<key>ProgramArguments</key>
<array>
<string>/Users/spike/bin/backup-to-dropbox</string>
</array>
<key>StartOnMount</key>
<true/>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6773 次 |
最近记录: |