Una forma de hacer esto es usar Automator:
- crear una acción de carpeta en / Volúmenes
- activa un script de Apple o shell cuando se monta una nueva unidad
- hacer la copia
- tomar un café (opcional).
Probablemente quieras raspar la salida de system_profiler SPUSBDataType
para asegurarte de que no estás jugando con DMGs.
Oooh, opción 2 del desbordamiento de pila (copiar / pegar como una cita en bloque a continuación):
Puedes usar launchd para ese propósito. Launchd se puede configurar
para iniciar automáticamente un programa cuando se modifica una ruta de archivo.
Por ejemplo, la siguiente configuración de launchd ejecutará el programa
/usr/bin/logger
cuando la carpeta de escritorio de mi cuenta de usuario es
modificado:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>logger</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/logger</string>
<string>path modified</string>
</array>
<key>WatchPaths</key>
<array>
<string>/Users/sakra/Desktop/</string>
</array>
</dict>
</plist>
Para activar la configuración, guárdelo en la carpeta LaunchAgents en
su carpeta de la biblioteca como "logger.plist".
Desde el shell puedes usar el comando launchctl
para activar
el logger.plist ejecutando:
$ launchctl load ~/Library/LaunchAgents/logger.plist
La carpeta de escritorio ahora está siendo monitoreada. Cada vez que se cambia
debería ver una salida en system.log (use Console.app). A
desactivar el logger.plist, ejecute:
$ launchctl unload ~/Library/LaunchAgents/logger.plist
El archivo de configuración anterior utiliza la opción WatchPaths
.
Alternativamente, también puede usar la opción QueueDirectories
. Ver el
launchd página de manual para obtener más información.