Wenn Sie die launchd
Überwachung /Volumes
als WatchPath festlegen, kann jedes Mal ein Skript ausgeführt werden, wenn ein Laufwerk bereitgestellt wird. Machen Sie dieses Skript einfach zu einem Skript, das prüft, ob Ihr Airport Extreme-Laufwerk gemountet ist, und führt dann die Kopie aus, falls vorhanden. Zum Beispiel:
#!/bin/bash if [ -e /Volumes/AirportExtremeDriveName ] rsync -aE /a/specific/folder/ /Volumes/AirportExtremeDriveName/another/specific/folder/ fi
Ich schlage vor rsync
, es ist intelligent genug, um Dateien zu kopieren, die in Quelle und Ziel nicht gleich sind, was die Dinge ohne Ende beschleunigen wird. Wenn Sie das -delete
Argument hinzufügen, werden alle Dateien, die nicht mehr in der Quelle vorhanden sind, vom Ziel gelöscht.
Ohne zusätzliche Kosten, hier ist das launchd
Skript. Speichern Sie das Folgende in~/Library/LaunchAgents/some.meaningful.name.plist
<?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"> <dict> <key>Label</key> <string>some.meaningful.name</string> <key>LowPriorityIO</key> <true/> <key>ProgramArguments</key> <array> <string>/where/you/saved/your/script.sh</string> </array> <key>WatchPaths</key> <array> <string>/Volumes</string> </array> </dict> </plist>
Laden Sie dann den launchd
Job mit:
launchctl load ~/Library/LaunchAgents/some.meaningful.name.plist
Es wird automatisch geladen, wenn Sie sich anmelden, und wird entladen, wenn Sie sich abmelden.