มีวิธีใดในการเปลี่ยนตำแหน่งของการสำรองข้อมูลภายในเครื่อง Time. (./MobileBackups) ไปยังไดรฟ์อื่น


2

ฉันกำลังใช้งานไดรฟ์สำหรับบูต SSD และไดรฟ์ HDD บน Macbook Pro 5,5 ของฉันและเห็นได้ชัดว่าฉันไม่มี Time Machine ที่เติม SSD ของฉัน ฉันสงสัยว่าถ้ามีเครื่องย้อนเวลาให้สร้างการสำรองข้อมูลภายในเครื่องของผู้ใช้บน SSD ของฉันหรือไม่ แต่เก็บไว้ใน HDD ของฉันและสามารถใช้คุณสมบัติทั่วไปของการสำรองข้อมูลในเครื่องย้อนเวลาได้เพราะไม่เช่นนั้นจะไม่จำเป็น หากคำถามนี้ถูกถามฉันจะขอบคุณลิงค์เพราะฉันค้นหาและไม่สามารถหาอะไร มิฉะนั้นขอขอบคุณความช่วยเหลือที่คุณมีให้


ฉันสงสัยว่าคุณจัดการย้ายข้อมูลสำรอง Time Machine ในพื้นที่ตามที่อธิบายไว้ในคำตอบและความคิดเห็นของฉันด้านล่างหรือไม่ หากเป็นกรณีนี้ฉันขอขอบคุณถ้าคุณสามารถทำเครื่องหมายคำถามของคุณเป็นคำตอบ ขอบคุณ!
Jaume

ฉันเพิ่งเข้าสู่ระบบและสังเกตเห็นสิ่งนี้ ขอโทษจริง ๆ ฉันใช้เวลานานในการทำเครื่องหมายว่าตอบแล้ว ขอบคุณสำหรับคำแนะนำที่ดีเยี่ยม!
JeffM

ไม่มีปัญหาขอบคุณสำหรับความคิดเห็นของคุณฉันดีใจที่ฉันสามารถช่วยได้!
jaume

คำตอบ:


4

ฉันไม่พบวิธีแก้ไขเส้นทาง/.MobileBackupsแต่คุณสามารถสร้างโฟลเดอร์บน HDD ของคุณแล้วเชื่อมโยงไปยัง/.MobileBackups:

  1. เปิดแอปพลิเคชั่น> โปรแกรมอรรถประโยชน์> เทอร์มินัล

    ตอนนี้คุณจะต้องพิมพ์หลายคำสั่ง กดreturnหลังจากทุกคำสั่งเพื่อให้ดำเนินการ เมื่อถูกถามให้พิมพ์รหัสผ่านของคุณ

  2. โฟลเดอร์สแน็ปช็อตมีการอนุญาตที่ซับซ้อน วิธีที่ง่ายที่สุดในการเก็บรักษาไว้คือการคัดลอกโฟลเดอร์ที่มีอยู่ไปยังตำแหน่งใหม่บน HDD ของคุณ:

    sudo rsync -ahvHE /.MobileBackups /Volumes/HDD/

    (แทนที่/Volumes/HDDด้วยพา ธ ไปยัง HDD ของคุณ)

    rsync ตัวเลือกคือ:

    • -a: โหมดเก็บถาวร (เรียกซ้ำคัดลอกsymlinkเป็น symlink สงวนสิทธิ์, เวลา, เจ้าของ, กลุ่ม, ไฟล์อุปกรณ์, ซ็อกเก็ตและ Fifos)
    • -h: ผลลัพธ์ผลลัพธ์ในรูปแบบที่มนุษย์อ่านได้
    • -v: verbose นั่นคือแสดงว่าคำสั่งกำลังทำอะไรอยู่
    • -H: เก็บรักษาลิงก์ถาวร
    • -E: คัดลอกแอตทริบิวต์เพิ่มเติมเช่นส้อมทรัพยากรและ ACL
  3. ปิดการใช้งานภาพรวมภายในเครื่อง (สิ่งนี้จะลบ/.MobileBackupsและเนื้อหาของมัน):

    sudo tmutil disablelocal

  4. สร้าง symlink:

    sudo ln -s /Volumes/HDD/.MobileBackups /.MobileBackups

    (แทนที่/Volumes/HDDด้วยพา ธ ไปยัง HDD ของคุณ)

  5. เปิดใช้งานภาพรวมภายในเครื่อง:

    sudo tmutil enablelocal

  6. สร้างภาพรวมภายในเครื่อง:

    sudo tmutil snapshot

  7. หากคุณเห็นภาพรวมใหม่ลงวันที่ "ตอนนี้":

    ls -l /Volumes/HDD/.MobileBackups/Computer/
    (...)
    drwxr-xr-x@ 3 root  wheel  102 Jan 28 09:05 2013-01-28-090534
    

    คุณทำเสร็จแล้ว!

หากมีสิ่งผิดปกติหรือไม่ทำงานตามที่คาดไว้ให้เปลี่ยนกลับไปใช้การกำหนดค่าดั้งเดิม:

  1. ปิดใช้งานภาพรวมภายในเครื่อง:

    sudo tmutil disablelocal

    นี้จะลบ /.MobileBackupssymlink หากไม่ใช่อย่างนั้นให้ลบออกด้วย:

    sudo rm /.MobileBackups

  2. เปิดใช้งานภาพรวมภายในเครื่อง:

    sudo tmutil enablelocal

  3. ลบโฟลเดอร์สแน็ปช็อตสำรองใน HDD ของคุณ:

    sudo rm -rf /Volumes/HDD/.MobileBackups

    ( rm -rfเป็นคำสั่งที่อันตรายที่จะไม่ขอคำยืนยันก่อนที่จะลบโฟลเดอร์ตรวจสอบให้แน่ใจว่าเส้นทางนั้นถูกต้อง!)


ขอบคุณ! ดูดีและเขียนได้ดี ฉันมีปัญหาเล็กน้อยที่เมื่อฉันปิดใช้งานการสำรองข้อมูลในเครื่องรูปภาพดิสก์. /MobileBackup นั้นถูก unmount และ rsync ส่งข้อผิดพลาด: building file list ... rsync: link_stat "/.MobileBackups" failed: No such file or directory (2) done sent 29 bytes received 20 bytes 98.00 bytes/sec total size is 0 speedup is 0.00 rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-42/rsync/main.c(992) [sender=2.6.9] ขอบคุณสำหรับความช่วยเหลือของคุณจนถึงตอนนี้มันจะเป็นการดีมากที่จะได้ทำงานนี้ งาน? ขอบคุณอีกครั้ง.
JeffM

ฉันมองข้ามสิ่งนั้นในtmutil disableทันทีเช็ดออก/.MobileBackupsนั่นเป็นเหตุผลที่rsyncบ่นและออกด้วยข้อผิดพลาดขอโทษสำหรับสิ่งนั้น ฉันได้แก้ไขคำตอบของฉันแล้วโปรดลอง (อย่าลืมเปิดใช้งานสแนปชอตsudo tmutil enableก่อน)
Jaume

1
Jaume- มันมีประโยชน์มาก บน OSX 10.8.2 สิ่งนี้ทำให้ฉันสามารถเขียนสแนปชอตในเครื่องของเวลา แต่ด้วยเหตุผลบางอย่างที่ฉันไม่สามารถอ่านเนื้อหาของโฟลเดอร์ในไทม์แมชชีน ฉันแน่ใจว่ามันเป็นปัญหาสิทธิ์บางอย่าง แต่ฉันไม่สามารถเข้าใจได้ ความคิดใด ๆ หากฉันคัดลอกโฟลเดอร์ออกจากไดรฟ์ที่สองและเปลี่ยนสิทธิ์การเข้าถึงการสำรองข้อมูลจะมีและดำเนินการให้เสร็จสิ้น ถ้าฉันเข้าสู่ไทม์แมชชีนมันมีโฟลเดอร์ที่สัมพันธ์กับวันที่ถ่ายทำ แต่ไม่พบเนื้อหาใด ๆ ฉันสังเกตเห็นว่าการอนุญาตแตกต่างกันเล็กน้อยในไดรฟ์ที่ฉันได้รับ
Benjamin Migliori

ฉันดีใจที่มันเป็นประโยชน์ สำหรับคำถามของคุณ: ถ้าคุณหมายถึงการสำรองข้อมูลอยู่/.MobileBackupsแต่คุณไม่เห็นพวกเขาเมื่อคุณป้อน Time Machine อาจเป็นปัญหาการอนุญาต /.MobileBackupsไม่ได้หมายถึงการเข้าถึงโดยตรงและโครงสร้างภายในของมันรวมถึงการอนุญาตไม่มีการลงทะเบียน คุณอาจมองเข้าไปข้างใน (ใช้งานsudo ls /.MobileBackups/Computer/<date>) หรือแม้แต่คัดลอกไฟล์ออกมา แต่อย่าเปลี่ยนการอนุญาต ฉันขอแนะนำให้คุณสร้างใหม่/.MobileBackupsตั้งแต่เริ่มต้นตามที่อธิบายไว้ในคำตอบและทดสอบว่ามันใช้งานได้หรือไม่ หากเป็นกรณีนี้มันเป็นปัญหาสิทธิ์
jaume

1

ฉันรู้ว่านี่เป็นคำถาม / คำตอบเก่า ๆ แต่ฉันกำลังทำสิ่งนี้อีกครั้งในโยเซมิตีและฉันได้เพิ่มรายละเอียดเล็ก ๆ น้อย ๆ ในการกำหนดค่านี้: เนื่องจากฉันอยู่บนโยเซมิตีฉันถูกบังคับให้ใช้ราก "ของเบนจามิน แทนที่จะเป็นวิธี sudo "ตอนนี้ทำงานได้ตามที่คาดไว้ แต่ฉันไม่ชอบไอคอนสำหรับสแน็ปช็อตโวลุ่มบางสิ่งที่คุณไม่จำเป็นต้องเห็นและเข้าถึงในขณะที่ทำสิ่งปกติในฐานะผู้ใช้ดังนั้นฉันเลือกที่จะซ่อน ไอคอนสแน็ปช็อตวอลุ่มโดยใช้คำสั่ง SetFile (นั่นคือ afaik ติดตั้งผ่าน xcode)

ใช้เส้นทางจากตัวอย่างก่อนหน้านี้มันจะเป็น:

SetFile -a V /Volumes/HDD/

และ pouf, ไอคอนระดับเสียงจะหายไป: snapshot ในเครื่องจะมองไม่เห็นอีกครั้งตามปกติ แต่ยังคงติดตั้งอยู่ (คุณสามารถเรียกดูและเปิดไดเรกทอรีผ่านเทอร์มินัลเช่นเดียวกับไดเรกทอรีที่มองไม่เห็นอื่น ๆ ในระบบไฟล์ของคุณ)

ฉันยังทำ shellscript เล็ก ๆ น้อย ๆ (ไม่ได้ทดสอบเพราะฉันทำมันเองแล้วดังนั้นความสนใจจ่ายก่อนที่จะวิ่งมันเพราะมันต้องถูกเรียกใช้ในฐานะรูทตามที่เบนจามินอธิบายไว้ในคอมเม้นท์ / คำตอบของเขา)

บันทึกสุดท้าย, เพียงแค่ fyi: สำหรับสิ่งที่ฉันเห็นตอนนี้, ปกติสแนปชอตของโวลุ่มสามารถเข้ารหัสได้

ขอบคุณสำหรับงานของคุณนี่คือสคริปต์ทุบตีตามคำตอบของคุณอย่างชัดเจน:

#!/bin/sh

# description:
# move /.MobileBackups to a different volume, to avoid wearing your SSD
# this script must me run as root, not via sudo. 
# based on http://apple.stackexchange.com/questions/80183/any-way-to-change-the-location-of-time-machine-local-backups-mobilebackups-t

################################################################################

# safety measure to avoid kids running this script with no clue and blaming me.
# comment it
echo "always check what you run before running it" && exit


# syntax/help
if [ -z "${1}" ] ; then
    echo "\nusage:\t`basename ${0}` /Volumes/SnapshotVolume\n"
    echo "*** Please note that this script MUST be run as root, not via sudo ***"
    echo "*** just run \"sudo su\", insert your password and THEN run this script ***"
    echo
    exit    
fi 

# checks that this script is run being root, not via sudo
homeDir=`echo ~`
if [ "${homeDir}" != "/var/root"  ] ; then
    echo
    echo "*** Please note that this script MUST be run as root, not via sudo ***"
    echo "*** just run \"sudo su\", insert your password and THEN run this script ***"
    echo
    exit    
fi 


# get dest volume path
snapVolume="${1}"

# create a "Backups" directory inside the snapshot volume root directory
# please note that this is a safety measure: if the snapshot volume is not
# excluded from time machine backups, you'll find an already existing directory
# at /Volumes/SnapshotVolume/.MobileBackups (each volume has his own directory)
# so, to avoid any mess, I prefer to make a Backups directory and put the actual
# .MobileBackups inside it, at a non volume-root level
mkdir ${snapVolume}/Backups

# duplicate the existing .MobileBackups to the destination path
rsync -ahvHE /.MobileBackups ${snapVolume}/Backups/

# this double command will remove the existing /.MobileBackups directory and,
# if and only if the rm command exits with no errors, symlink the new directory
# cloned in the 2nd hard drive to the main drive /.MobileBackups path
rm -rf /.MobileBackups && ln -s ${snapVolume}/Backups/.MobileBackups /.MobileBackups

# makes the snapshot volume invisible in finder
SetFile -a V ${snapVolume}

# a final test, just because..
tmutil snapshot

1

หากคุณใช้ OSX 10.8 หรือสูงกว่ามีบางอย่างเกิดขึ้นเมื่อคุณปิดใช้งานสแนปชอตในตัวเองเช่นสแนปชอตที่มีอยู่จะไม่สามารถเข้าถึงได้ผ่านทาง TM อีกต่อไป เพื่อแก้ไขปัญหานี้ใช้ sudo -s เพื่อเข้าสู่ระบบในฐานะผู้ใช้รูทและรันโค้ดต่อไปนี้เพื่อปรับเปลี่ยนการสอนที่ยอดเยี่ยมของ Jaume:

cd /
tmutil disablelocal
sleep 300

rm -rf /Volumes/HDD/.MobileBackups/

tmutil enablelocal
sleep 60
tmutil snapshot
tmutil snapshot

rsync -ahvHE /.MobileBackups /Volumes/HDD/
rm -rf .MobileBackups
ln -s /Volumes/HDD/.MobileBackups /.MobileBackups

tmutil snapshot
tmutil snapshot

ดูเหมือนว่าจะได้ผล


ฉันต้องการใช้ความระมัดระวังด้วย rm - ขึ้นอยู่กับจำนวนของช่วงเวลาที่คุณต้องการให้ซอฟต์แวร์สำรองข้อมูลมือถือล้างสิ่งต่าง ๆ ในทางทฤษฎีแล้ว rm นั้นไม่เป็นอันตราย แต่ฉันไม่ชอบที่จะมีเงื่อนไขการแข่งขันเพื่อลบไฟล์เมื่อฉันสามารถช่วยได้ ฉันเพิ่มคำสั่ง sleep เพื่อให้ระบบย่อยมีเสถียรภาพหลังจากปิดและเปิดอีกครั้ง
bmike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.