ฉันรู้ว่านี่เป็นคำถาม / คำตอบเก่า ๆ แต่ฉันกำลังทำสิ่งนี้อีกครั้งในโยเซมิตีและฉันได้เพิ่มรายละเอียดเล็ก ๆ น้อย ๆ ในการกำหนดค่านี้: เนื่องจากฉันอยู่บนโยเซมิตีฉันถูกบังคับให้ใช้ราก "ของเบนจามิน แทนที่จะเป็นวิธี 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