Як я автоматично виймаю резервний диск Time Machine після кожної резервної копії?


25

Як встановити Time Machine автоматично витягувати зовнішній накопичувач часу Time Machine після кожної резервної копії?


4
Цікаве зауваження: під час створення резервної копії TimeMachine на мережевому накопичувачі TimeMachine автоматично змонтує, створить резервну копію та відключить віддалену частку TimeMachine на мережевому диску. Цікаво, чи можете ви використати це для досягнення того, чого ви хочете?
Ян C.

Відповіді:


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"

~ / Бібліотека / 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

1
Мені подобається це рішення, я надалі автоматизував цей процес для монтажу та відключення роботи, коли я підключаю диск та за розкладом. Відвідайте мою публікацію тут: somethinginteractive.com/blog/2013/07/24/…
Майк Корменді

На Maveriks це не спрацювало для мене, як не дивно, сценарій зациклився, і резервне копіювання робилося постійно. Наступна зміна працює: <key> ProgramArguments </key> <array> <string> / Users / martin / bin / timemachine </string> </array>
Мартін

somethinginteractive.com вимкнено, архівована версія: web.archive.org/web/20160409130936/http://…
Pro Backup

6

Можливо, буде і кращий спосіб, але одне рішення може бути його Applescript. Я ще не знайшов способу запустити яблучний скрипт після створення резервної копії, але ви можете:

  1. Вимкніть автоматичне резервне копіювання TM
  2. Налаштуйте яблучний сценарій для запуску TM
    • Деякі googling звернулися до цієї лінії, щоб змусити негайно створити TM: do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper >/dev/null 2>&1 &"
  3. Додайте рядок, щоб потім вийняти диск.
    • eject disk somedrivename

Якщо ви хочете, щоб це відбувалося регулярно, ви можете приєднати його до роботи з крон.


1
Виглядає багатообіцяюче, але потрібно створити шлях №3 лише після закінчення №2.
Адам А

Якщо я пам’ятаю, я спробую це сфальсифікувати і перевірити, коли сьогодні приїду додому (і спробую змусити очікувати, коли резервна копія закінчиться перед тим, як вийняти).
Fishtoaster

Ось подібна ідея в Mac OS X Hints , використовуючи сценарій python.
Натан Грігг

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.