Wenn Sie die launchd
Überwachung /Volumes
als WatchPath festlegen, kann jedes Mal, wenn ein Laufwerk bereitgestellt wird, ein Skript ausgeführt werden. Stellen Sie dieses Skript einfach so ein, dass überprüft wird, ob Ihr Airport Extreme-Laufwerk aktiviert ist, und führen Sie dann die Kopie aus, falls dies der Fall ist. Zum Beispiel:
#!/bin/bash
if [ -e /Volumes/AirportExtremeDriveName ]
rsync -aE /a/specific/folder/ /Volumes/AirportExtremeDriveName/another/specific/folder/
fi
Ich schlage vor rsync
, dass es klug genug ist, keine Dateien zu kopieren, die sowohl in der Quelle als auch im Ziel identisch sind, was die Dinge ohne Ende beschleunigen wird. Wenn Sie das -delete
Argument hinzufügen , werden alle Dateien, die in der Quelle nicht mehr 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 entladen, wenn Sie sich abmelden.