Làm cách nào để tự động đẩy ổ đĩa sao lưu Time Machine sau mỗi lần sao lưu?


25

Làm cách nào để đặt Time Machine tự động đẩy ổ đĩa sao lưu Time Machine bên ngoài của tôi sau mỗi lần sao lưu?


4
Một quan sát thú vị: khi thực hiện sao lưu TimeMachine vào ổ đĩa mạng TimeMachine sẽ tự động gắn kết, sao lưu và sau đó ngắt kết nối chia sẻ TimeMachine từ xa trên ổ đĩa mạng. Tôi tự hỏi nếu bạn có thể khai thác điều đó để đạt được những gì bạn muốn?
Ian C.

Câu trả lời:


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"

~ / Thư viện / 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>

Làm cho tập lệnh có thể thực thi được, dỡ bỏ bảng mặc định và tải tập lệnh mới:

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

Bất cứ khi nào bạn muốn thay đổi tệp plist, bạn phải dỡ và tải nó:

launchctl unload ~/Library/LaunchAgents/timemachine_eject.plist
launchctl load ~/Library/LaunchAgents/timemachine_eject.plist

1
Tôi thích giải pháp này, tôi tiếp tục tự động quá trình này để gắn kết và ngắt kết nối công việc khi tôi cắm ổ đĩa và theo lịch trình. Ghé thăm bài viết của tôi ở đây: somethinginteractive.com/blog/2013/07/24/...
Mike Kormendy

Trên Maverik, điều này không hiệu quả với tôi, kỳ lạ là kịch bản được lặp lại và việc sao lưu được thực hiện liên tục. Thay đổi sau hoạt động mặc dù: <key> ProgramArgument </ key> <mảng> <string> / Users / martin / bin / timemachine </ string> </ Array>
Martin


6

Có thể có một cách tốt hơn, nhưng một giải pháp có thể là Applescript nó. Tôi chưa tìm thấy cách nào để chạy một applescript sau khi sao lưu, nhưng bạn có thể:

  1. Tắt sao lưu TM tự động
  2. Thiết lập một applescript để chạy TM
    • Một số googling đã bật dòng này để buộc xây dựng TM ngay lập tức: do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper >/dev/null 2>&1 &"
  3. Thêm một dòng để đẩy đĩa sau đó.
    • eject disk somedrivename

Nếu bạn muốn điều này xảy ra một cách thường xuyên, bạn có thể gắn nó vào một công việc định kỳ.


1
Có vẻ đầy hứa hẹn, nhưng cần có một số cách để bắt đầu # 3 chỉ sau khi # 2 kết thúc.
Adam A

Nếu tôi nhớ, tôi sẽ cố gắng khắc phục điều này và kiểm tra nó khi tôi về nhà tối nay (và cố gắng thực thi chờ đợi sao lưu kết thúc trước khi đẩy ra).
Fishtoaster


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.