मैं प्रत्येक बैकअप के बाद स्वचालित रूप से अपने बाहरी टाइम मशीन बैकअप ड्राइव को बाहर करने के लिए टाइम मशीन कैसे सेट करूं?
मैं प्रत्येक बैकअप के बाद स्वचालित रूप से अपने बाहरी टाइम मशीन बैकअप ड्राइव को बाहर करने के लिए टाइम मशीन कैसे सेट करूं?
जवाबों:
~ / Bin / TimeMachine:
#!/bin/bash
d="Time Machine" # (change this to match the name of your backup drive)
diskutil mount "$d" && tmutil startbackup -b && diskutil eject "$d"
~ / Library / LaunchAgents / timemachine_eject.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>
<plist version="1.0">
<dict>
<key>Label</key>
<string>timemachine_eject</string>
<key>Program</key>
<string>/Users/username/bin/timemachine</string> <!-- Replace "username" with your username. "~/bin/timemachine" doesn't work -->
<key>StartInterval</key>
<integer>120</integer> <!-- run every two minutes for testing. -->
<!-- Change this to a higher number like 43200 (run every 12 hours) once you've confirmed it works. -->
</dict>
</plist>
स्क्रिप्ट को निष्पादन योग्य बनाएं, डिफ़ॉल्ट प्लिस्ट को उतारें और नया लोड करें:
chmod +x ~/bin/timemachine
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.backupd-auto.plist
launchctl load ~/Library/LaunchAgents/timemachine_eject.plist
जब भी आप प्लिस्ट फाइल में बदलाव करना चाहते हैं, आपको इसे उतारना और लोड करना होगा:
launchctl unload ~/Library/LaunchAgents/timemachine_eject.plist
launchctl load ~/Library/LaunchAgents/timemachine_eject.plist
एक बेहतर तरीका हो सकता है, लेकिन इसका एक समाधान अप्प्लस्क्रिप्ट में हो सकता है। मुझे अभी तक बैकअप के बाद एक एप्सस्क्रिप्ट को चलाने का कोई तरीका नहीं मिला है, लेकिन आप कर सकते हैं:
do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper >/dev/null 2>&1 &"
eject disk somedrivename
यदि आप चाहते हैं कि यह नियमित रूप से हो, तो आप इसे क्रोन जॉब से जोड़ सकते हैं।
यह कोशिश नहीं की है, लेकिन ऐसा लगता है कि यह काम कर सकता है:
सोते समय बाहरी ड्राइव को निकालता है और उन्हें नींद से जागने की याद दिलाता है।