ฉันจะนำไดรฟ์สำรองข้อมูล Time Machine ออกโดยอัตโนมัติหลังจากการสำรองข้อมูลแต่ละครั้งได้อย่างไร


25

ฉันจะตั้งค่า Time Machine เป็นไดรฟ์สำรอง Time Machine ภายนอกของฉันโดยอัตโนมัติหลังจากการสำรองข้อมูลแต่ละครั้งได้อย่างไร


4
ข้อสังเกตที่น่าสนใจ: เมื่อทำการสำรองข้อมูล TimeMachine ไปยังไดรฟ์เครือข่าย TimeMachine จะทำการเมานต์โดยอัตโนมัติทำการสำรองข้อมูลแล้วยกเลิกการต่อเชื่อม TimeMachine ระยะไกลที่แชร์บนไดรฟ์เครือข่าย ฉันสงสัยว่าคุณสามารถใช้ประโยชน์จากสิ่งนั้นเพื่อบรรลุสิ่งที่คุณต้องการได้หรือไม่?
เอียนซี

คำตอบ:


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>

ทำให้สคริปต์เรียกทำงานได้, ยกเลิกการโหลดเพลทเริ่มต้นและโหลดอันใหม่:

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

เมื่อใดก็ตามที่คุณต้องการเปลี่ยนแปลงไฟล์ plist คุณจะต้องยกเลิกการโหลดและโหลดมัน:

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

1
ฉันชอบโซลูชันนี้ฉันจะเพิ่มกระบวนการนี้โดยอัตโนมัติเพื่อเมานต์และเลิกเมานต์งานเมื่อฉันเสียบไดรฟ์และตามกำหนดเวลา เยี่ยมชมโพสต์ของฉันที่นี่: somethinginteractive.com/blog/2013/07/24/…
Mike Kormendy

บน Maveriks สิ่งนี้ไม่ได้ผลสำหรับฉันอย่างแปลก ๆ สคริปต์วนซ้ำและมีการสำรองข้อมูลอย่างต่อเนื่อง การเปลี่ยนแปลงดังต่อไปนี้การทำงานแม้ว่า: <key> ProgramArguments </ key> <อาร์เรย์> <สตริง> / ผู้ใช้ / มาร์ติน / bin / TimeMachine </ สตริง> </ อาร์เรย์>
มาร์ติน

somethinginteractive.com ไม่ทำงานรุ่นที่เก็บถาวร: web.archive.org/web/20160409130936/http://…
สำรองข้อมูล Pro

6

อาจมีวิธีที่ดีกว่า แต่อาจมีวิธีแก้ไขปัญหาหนึ่งสำหรับ Applescript ฉันยังไม่พบวิธีการเรียกใช้แอปพลิเคชันหลังจากสำรองข้อมูล แต่คุณสามารถ:

  1. ปิดการสำรองข้อมูล TM อัตโนมัติ
  2. ตั้งค่า applescript เพื่อรัน TM
    • googling บางกลุ่มเปิดใช้บรรทัดนี้เพื่อบังคับให้สร้าง TM ทันที: do shell script "/System/Library/CoreServices/backupd.bundle/Contents/Resources/backupd-helper >/dev/null 2>&1 &"
  3. เพิ่มบรรทัดเพื่อนำดิสก์ออกหลังจากนั้น
    • eject disk somedrivename

หากคุณต้องการให้สิ่งนี้เกิดขึ้นเป็นประจำคุณสามารถแนบมันเข้ากับงาน cron


1
ดูเหมือนจะมีแนวโน้ม แต่ต้องมีวิธีการเริ่ม # 3 หลังจากสิ้นสุด # 2
อดัม A

หากฉันจำได้ว่าฉันจะพยายามทำสิ่งนี้และทดสอบเมื่อฉันกลับถึงบ้านในคืนนี้ (และพยายามบังคับให้การสำรองข้อมูลเสร็จสิ้นก่อนที่จะดีดออก)
Fishtoaster


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.