Bagaimana cara mengeluarkan drive cadangan Time Machine secara otomatis setelah setiap cadangan?

25

Bagaimana cara mengatur Time Machine untuk mengeluarkan drive cadangan Time Machine eksternal saya secara otomatis setelah setiap cadangan?

Adam A
sumber
4
Pengamatan yang menarik: ketika melakukan backup TimeMachine ke drive jaringan TimeMachine akan secara otomatis melakukan mount, backup dan kemudian unmount share TimeMachine jarak jauh pada drive jaringan. Saya ingin tahu apakah Anda dapat memanfaatkan itu untuk mencapai apa yang Anda inginkan?
Ian C.

Jawaban:

19

~ / 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>

Buat skrip dapat dieksekusi, bongkar plist default, dan muat skrip baru:

chmod +x ~/bin/timemachine
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.backupd-auto.plist
launchctl load ~/Library/LaunchAgents/timemachine_eject.plist

Setiap kali Anda ingin membuat perubahan pada file plist, Anda harus membongkar dan memuatnya:

launchctl unload ~/Library/LaunchAgents/timemachine_eject.plist
launchctl load ~/Library/LaunchAgents/timemachine_eject.plist
Lri
sumber
1
Saya suka solusi ini, saya lebih lanjut mengotomatiskan proses ini untuk me-mount dan melepas pekerjaan ketika saya pasang drive saya dan sesuai jadwal. Kunjungi posting saya di sini: somethinginteractive.com/blog/2013/07/24/...
Mike Kormendy
Pada Maveriks ini tidak berhasil untuk saya, anehnya skrip diulang dan cadangan dilakukan terus menerus. Namun perubahan berikut berfungsi: <key> ProgramArguments </key> <array> <string> / Users / martin / bin / timemachine </string> </array>
Martin
somethinginteractive.com sedang down, versi diarsipkan: web.archive.org/web/20160409130936/http://…
Pro Backup
6

Mungkin ada cara yang lebih baik, tetapi satu solusi mungkin untuk Applescript itu. Saya belum menemukan cara untuk menjalankan applescript setelah cadangan, tetapi Anda dapat:

  1. Matikan cadangan TM otomatis
  2. Siapkan applescript untuk menjalankan TM
    • Beberapa googling membuka jalur ini untuk memaksa build TM langsung: do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper >/dev/null 2>&1 &"
  3. Tambahkan baris untuk mengeluarkan disk setelahnya.
    • eject disk somedrivename

Jika Anda ingin ini terjadi secara teratur, Anda bisa melampirkannya pada tugas cron.

Fishtoaster
sumber
1
Terlihat menjanjikan, tetapi harus ada beberapa cara untuk memulai # 3 hanya setelah # 2 berakhir.
Adam A
Jika saya ingat, saya akan mencoba untuk memperbaiki ini dan mengujinya ketika saya pulang malam ini (dan mencoba untuk memaksakan menunggu cadangan untuk selesai sebelum mengeluarkan).
Fishtoaster
Berikut adalah ide serupa di Petunjuk Mac OS X , menggunakan skrip python.
Nathan Grigg
6

Belum pernah mencoba ini, tetapi sepertinya ini mungkin berhasil:

Jettison (tautan Mac App Store)

Keluarkan drive eksternal saat akan tidur dan pasang kembali drive-nya dari tidur.

Jim Greer
sumber