Time Machine의 여유 공간을 확보하기 위해 수동으로 이전 백업을 수동으로 삭제할 수 있습니까?


206

백업에 Time Capsule을 사용하고 이제는 추가 Mac에서 데이터를 백업하도록 드라이브를 원합니다. 그러나 드라이브는 Mac 1의 오래된 백업으로 채워져 있습니다. Mac 2의 백업에 사용할 수있는 공간이 부족합니다.

Time Machine 백업을 실행할 때 다음 오류 메시지가 나타납니다.

Time Machine이 백업을 완료하지 못했습니다. 이 백업은 백업 디스크에 비해 너무 큽니다. 백업이 필요합니다.   28.68GB이지만 626.2MB 만 사용할 수 있습니다.

Time Machine에는 백업 디스크의 작업 공간이 필요합니다.   백업을 저장하는 데 필요한 공간. Time Machine 환경 설정을 열어   더 큰 백업 디스크를 선택하거나 제외하여 백업을 작게 만드십시오.   파일.

Time Machine 자체가 더 많은 공간이 필요할 때 오래된 백업을 제거 할 수 있다는 것을 알고 있습니다. 그러나이 경우 Mac 2를위한 공간을 만들기 위해 Mac 1 백업을 제거하지 않습니다.

질문은, 어떻게 수동으로합니까?


2
싸구려 외장 드라이브가 얼마나 많은지 감안할 때, 나는 하나를 구입하여 여분의 기계에 사용하는 유혹을 느낄 것입니다. 나는 요소를 선호한다 : amazon.com/Western-Digital-Elements-External-WDBAAU0010HBK-NESN/...
james.garriss

1
@ james.garriss 좋은 지적 :) 그러나, 나는 아직도 나의 시간 캡슐에있는 드라이브를 교환해야한다 :)
Jesper Rønn-Jensen

TM에 1 년 이상 된 백업에 대해 1 개월 만 백업하도록 요청하는 방법 (스크립트 작성없이)이 있는지 아는 사람은 누구입니까?
gamov

1
TM 디스크에 2 개의 다른 파티션을 만들 수 없으며 각 Mac에 다른 파티션을 선택할 수 있습니까?
Pierre Watelet

답변:


217

sudo를주의 깊게 읽고 다음 명령을 실행 취소하거나 확인하지 않아 올바른 Mac 파일을 선택하도록하십시오.

sudo tmutil delete /Volumes/drive_name/Backups.backupdb/old_mac_name

sudo 명령은 암호가 필요합니다 (화면에 표시되지 않으므로 입력하기 만하면 Enter 키를 누르기 전에 올바른 파일을 데이트하고 있습니다). 더 안전하게하려면 먼저 삭제할 스냅 샷 하나를 선택하여 명령이 의도 한대로 작동하는지 확인하십시오. 더 큰 백업 세트를 정리하는 데 몇 시간이 걸릴 수 있고 올바른 정보 저장소를 삭제한다는 확신을 Mac에 남기고 싶기 때문에 좋을 것입니다.

당신은 tmutil 도구를 사용하여 하나씩 백업을 삭제합니다.

sudo tmutil delete /Volumes/drive_name/Backups.backupdb/mac_name/YYYY-MM-DD-hhmmss

이후 tmutil Lion과 함께 도입되었지만 이전 OS 버전에서는 작동하지 않습니다.

현재 백업 디렉토리를 가져 오려면 (정의 된 여러 대상이있을 수 있으며 하나만 "현재"입니다)

sudo tmutil machinedirectory

4
매력처럼 일했습니다. 하드 드라이브가 변경되어 원래의 시간대 세트와 연결이 끊어진 오래된 백업이있었습니다. 내가 sudo rm (이상한) 그들을 삭제할 수 없습니다,하지만 이것은 속임수 않았다. 감사!
David Pisoni

2
@drfrogsplat 예,하지만 오래된 백업으로 작업 할 때는 원래 Mac이 죽는 것이 일반적입니다. 필자의 경우 백업 드라이브에 공간을 확보하여 새 Mac을 백업하는 데 사용할 수 있습니다.
Abhi Beckert

5
@square_eyes 하드 링크 된 파일을 삭제하는 방법이 아닙니다. 동일한 파일에 100 개의 간격이 있다고 가정 해 봅시다. 파일은 디스크에 한 번만 존재하지만 링크 수는 100입니다. 하나를 삭제하면 삭제 한 위치에서 해당 디렉토리 항목이 사라지고 링크 카운트는 이제 99입니다. 링크 카운트가 0이 될 때만 파일 자체가 삭제됩니다. 다른 모든 삭제는 디렉토리 항목 만 제거합니다.
bmike

5
백업을 하나씩 삭제할 필요가 없습니다. 입력 할 수 있습니다. sudo tmutil delete 그런 다음 삭제할 모든 백업을 터미널 창으로 끕니다. @drfrogsplat 맨 페이지 이 명령은 다른 시스템에서 작성된 백업을 삭제할 수 있음을 언급합니다.
pointum

1
백업 위치를 찾으려면 다음을 실행할 수 있습니다. sudo tmutil listbackups. Finder에서 해당 폴더를 열고 삭제할 백업을 선택한 다음 타이핑 한 후 터미널 창으로 드래그 앤 드롭하십시오. sudo tmutil delete . 하나씩 삭제합니다. 나는 그것을 아주 멋지게 느낀다.
Jordan H

78

가장 쉬운 방법은 다음과 같습니다.

  1. 백업을 삭제하려는 Mac의 시간 기록계에 들어가십시오.
  2. 삭제하려는 시점으로 이동하십시오.
  3. 파인더에서 톱니 모양의 아이콘을 선택하고 '백업 삭제'를 선택하십시오 (매 버직에서는 파인더 창에서 마우스 오른쪽 버튼을 클릭하고 '백업 삭제'를 선택하십시오).

이렇게하면 백업 카탈로그가 정확하고 데이터 무결성이 손상되지 않습니다.


2
@drfrogsplat은 Apple이 제공하는 GUI를 사용하면 백업을 삭제하는 가장 좋은 방법 (모든 버전에서 작동)을 사용하는 것이 옳은데, 여러 시각적 피드백 (주의 깊게 본다면)과 입력하기 전에 점검이 있기 때문에 오류가 발생하기 쉽습니다. 비밀번호를 잊어 버렸 으면 삭제가 영구적이라는 것을 알고 있어야합니다.
bmike

1
톱니 바퀴 메뉴에서 똑똑한 사람에게 백업 삭제 항목이 보이지 않습니다.
brainray

@brainray 나는 대답을 올렸다. 배우
Inder Kumar Rathore

1
어떤 이유로 든 부분 삭제를 수행 할 때를 제외하고 부분 백업이 있다는 것을 잊어 버렸기 때문에 삭제할 수 없습니다. tmutil delete
Jeroen Wiert Pluimers

1
"대기 중 ..."문제가있는 경우에는 작동하지 않습니다. apple.stackexchange.com/questions/207787/... 기다리는 것이 항상 효과가있는 것은 아닙니다.
Almo

33

에 대한 매버릭스 / 요세미티

  1. 타임머신 들어가기
  2. 백업 선택
  3. 백업을 마우스 오른쪽 버튼으로 클릭하십시오 (찾기 창에서).
  4. '백업 삭제'를 선택하십시오.

암호를 묻는 메시지가 표시되면 완료됩니다.

enter image description here


백업을 마우스 오른쪽 버튼으로 클릭하십시오 : 어디서?
brainray

창의 중앙에서 파인더 창을 마우스 오른쪽 버튼으로 클릭하면 옵션 목록이 표시됩니다.
Inder Kumar Rathore

12
Time Machine은 삭제 작업을 수행하지 않으며 사용자가 암호를 잊을 때까지 암호를 묻지 않습니다 출구 타임 머신. 그리고 삭제할 파일과 폴더를 선택한 후 Time Machine을 종료하는 절차도 분명하지 않습니다. cancel 왼쪽 하단 모서리에 (분명히, 당신이 "취소하는"것은 파일의 복원입니다. 삭제 작업은 취소 할 때 취소되지 않은 것 같습니다.)
mhucka

3
이것은 또한 다른 컴퓨터에서 나를 위해 일했습니다. 내 오래된 MBP가 튀었어요, 새로운 하나는 다른 하드 드라이브 이름과 파티션 등이 있습니다. 마지막으로 그것은 TM 디스크를 가득 채우며 모든 오래된 컴퓨터의 백업을 삭제하고 싶지 않습니다. 그래서 Option 키를 누르고 메뉴 바에서 Time Machine을 클릭하고 "다른 백업 디스크 찾아보기"를 클릭하십시오. 같은 이름의 드라이브에 연결하여 첫 번째 이전 백업을 사용할 수있었습니다. 거기에서 이전 드라이브 구조로 이동할 수 있었고이 팁을 사용하여 일부 오래된 백업을 삭제할 수있었습니다.
Mark

또는 사이드 바에서 루트 장치 폴더를 클릭하면 이전 파티션과 드라이브 구조가 나타납니다. 필자의 경우 '기기 - & gt; Macbook Pro'
Mark

17

bash 스크립트 :

COMPUTER_NAME=$(/usr/sbin/scutil --get ComputerName)
NBACKUPS=$(/usr/bin/tmutil listbackups |
  /usr/bin/grep "$COMPUTER_NAME" |
  /usr/bin/wc -l)
OLDEST_BACKUP=$(/usr/bin/tmutil listbackups |
  /usr/bin/grep "$COMPUTER_NAME" |
  /usr/bin/head -n1)
LATEST_BACKUP=$(/usr/bin/tmutil latestbackup)
echo Latest backup: $LATEST_BACKUP
if [[ -n "$LATEST_BACKUP" && "$LATEST_BACKUP" != "$OLDEST_BACKUP" ]]
then
 echo -n "$NBACKUPS backups. Delete oldest: ${OLDEST_BACKUP##*/} [y/N]? "
read answer
 case $answer in
  y*)
echo Running: /usr/bin/sudo /usr/bin/tmutil delete "$OLDEST_BACKUP"
/usr/bin/sudo time /usr/bin/tmutil delete "$OLDEST_BACKUP"
;;
*)
 echo No change
 ;;
 esac
 else
 echo "No backup available for deletion"
 fi

요약하면이 스크립트는 컴퓨터에서 가장 오래된 TM 백업을 자동으로 찾아 가장 오래되고 가장 최근의 백업을 알려주고 가장 오래된 백업을 삭제할지 묻는 메시지를 표시합니다. 들어가야합니다. Y 그것을 삭제하려면 관리자 암호를 입력하십시오.
Hengjie

2
sparsebundle 백업 파일의 크기를 자동으로 줄이지는 않습니다. 들어가서 뛰어야 할거야. sudo hdiutil compact /path/to/disk-image
Hengjie

훌륭하게 유용한 작은 스크립트, 감사합니다.
andynormancx

13

나는이 질문을 스스로에게 해왔으며 여기에 대한 답이 확실히 도움이되었다. 그러나이 질문에 답을 할 때 존재하지 않았던 새로운 구현 "세부 사항"이 부족한 부분이 있습니다.

tmutil delete 실제로 백업을 지우지 만 적어도 보장 된 방식으로는 아니더라도 실제로 확보 한 공간을 되찾지 않습니다. 약 2 일 전, 최종 완료 메시지에 따르면 약 2 시간 전에 & gt;에서 백업을 삭제하는 데 보냈습니다. 400Gb의 데이터. 무료 백업 공간 표시가 그에 따라 올라간 것을 보았습니다. 일단 , 다음 백업 후에는 7 %의 사용 가능한 공간 (450Gb가 아닌 858Gb)으로 다시 떨어졌습니다. 그것은 정말로 나를 곤란하게 만들었습니다.

그 수수께끼에 대한 대답은 여기에 있습니다 : http://blog.hawkimedia.com/2012/08/reclaiming-a-timemachine-volumes-disk-space/ 즉, 네트워크 디스크 나 HFS +로 포맷되지 않은 디스크에서 호스트되는 경우 실제로 백업을 보유하고있는 스파 스 번들을 압축해야합니다. 스파 스 번들에서 호스팅되지 않는 TM 백업이 없으므로 사용 중인지 확인할 수 없습니다. tmutil delete 그것들을 무료로 회수합니다. 그것은 잘 할 수도 있고 Time Capsule에없는 사실은 단순히 스파 스 번들 프로토콜의 특질 일 수 있습니다. 이후에 실행할 명령 sudo tmutil delete ~이다. sudo hdiutil compact /Volumes/YourTimeMachineDisk/YourBackupName.sparsebundle . 내 경우에는보고했다.

Starting to compact…
Reclaiming free space…
...................................................................................................................................
Finishing compaction…
Reclaimed 403.2 GB out of 583.5 GB possible.

좋은 소식은이 명령은 tmutil이 수행 한 시간보다 훨씬 짧은 시간에 디스크를 검색하고 RAM을 적게 사용한다는 것입니다 (실제로이 답변을 작성하는 데 시간이 걸렸습니다).


나는 지금 sparsebundle없이 백업을 삭제할 것이고, 그 공간은 여분의 조치를 취하지 않고도 해제 된 것으로 보인다.
Almo

12

Time Machine이 실제로 차이점 만 백업하는 경우 역순으로 삭제하는 것은 원하는 것이 아닙니다. 게다가 각 삭제에는 시간이 걸릴 수 있으므로 현재 스크립트가 완료되면 다음 스크립트를 삭제하는 스크립트가 있어야합니다.

수행원 user36971의 샘플 스크립트 위의 경우, 지정된 백업 이전 백업에서 모든 백업을 삭제하는 백업을 작성했습니다.

#!/bin/bash

if [ -z "$1" ]
then
    echo "must specify backup id: YYYY-MM-DD-HHMMSS"
    exit 1
fi

FOUND_BACKUP=0;
BACKUPS=""
while read line; do
    if [[ "${line}" == *$1* ]]
    then
        FOUND_BACKUP=1;
    fi

    if [ "${FOUND_BACKUP}" == "1" ]
    then
        BACKUPS+="${line}"$'\n'
    fi
done < <(/usr/bin/tmutil listbackups | tail -r)

if [ "${FOUND_BACKUP}" == "0" ]
then
    exit 1
fi

printf '%s' "$BACKUPS"

echo -n "Delete above backups? [y/N]? "
read answer
case $answer in
    y*)
        while read line; do
            if [ -n "${line}" ]
            then
                echo Running: /usr/bin/sudo /usr/bin/tmutil delete "${line}"
                /usr/bin/sudo time /usr/bin/tmutil delete "${line}"
            fi
        done < <(echo "${BACKUPS}")
        ;;
    *)
        echo No change
        ;;
esac

해야 할 것 노트 스크립트에 컴퓨터 이름 검사를 포함하지 않았으므로 하나의 백업 드라이브를 여러 컴퓨터와 공유하는 경우 추가 검사를 추가해야 할 수도 있습니다.


1
TM 만 백업 델타는 각 실행과 함께 있지만 백업 디스크에서 실행 당 전체 사본을 유지합니다. 실행 사이에 변경되지 않은 파일의 경우 (이는 대부분을 의미 함) 단지 새로운 디렉토리 항목이 추가됩니다. 이것은 실행 사이에 작은 델타 만있는 경우 여유 공간이 크게 증가하기 전에 많은 백업을 삭제해야 할 수 있음을 의미 할 수 있습니다.
nohillside

2
백업을 삭제하는 순서는 아무런 차이가 없습니다. 실제로 와일드 카드를 tmutil delete 주어진 해에 대한 모든 백업을 삭제하려면 가장 오래된 백업을 삭제합니다. 그리고 btw는 와일드 카드를 사용하는 것이 대부분의 경우 스크립트를 사용하는 것보다 훨씬 쉽습니다 :)
mluisbrown

더 나은 피드백을주기 위해 백업 삭제 라인 앞에 printf '% s' "$ BACKUPS"를 추가하는 것이 좋습니다.
petr

2
while을 사용하지 않고 여러 백업을 삭제할 수 있습니다. 예 : sudo tmutil delete 2016-06-12-184217 2016-06-19-080529 2016-06-26-092218
yuxuan

-2

이전 백업을 삭제하기 위해 수행 한 작업이 단계별로 나와 있습니다.

  1. 타임머신 디스크 열기
  2. Backups.backupdb 폴더를 찾아서 엽니 다.
  3. 날짜별로보기로 이동하여 위에 가장 오래된 것을 선택하십시오.
  4. 삭제할 백업을 선택하십시오.
  5. 터미널 열기 및 입력 sudo rm -rvf
  6. 터미널 창에서 삭제할 이전 폴더를 끌어 놓습니다.
  7. 프롬프트에서 사용자 암호를 입력하십시오.

이동하여 커피를 마시거나 영화를 볼 때 처리가 끝나면 삭제하지 않으려는 폴더에 대해 다시 반복해야 할 수 있습니다.

모든 이전 폴더가 없어지면 Time Machine은 데이터베이스를 업데이트해야합니다. Time Machine을 강제로 업데이트하는 방법은 다음과 같습니다.

  1. Time Machine을 입력하고 나열된 가장 오래된 Backup으로 이동하십시오.
  2. 그것을 선택하고 작은 기어를 클릭 한 다음 백업 삭제를 선택하십시오.
  3. 비밀번호를 입력하고 잠시 기다려주십시오.
  4. Time Machine 인터페이스를 종료하고 다시 돌아옵니다. 이제 Time Machine에서 올바른 백업을 나열해야합니다.

12
이러지 마. Time Machine은 복잡한 연결 시스템을 사용합니다. 백업을 손상시킬 수 있습니다. 만나다 pondini.org/TM/Home.html
Harv

2
읽고 나서 http://pondini.org/TM/Works.html 이전 백업을 삭제하는 이유가 표시되지 않습니다. sudo rm -rvf Time Machine을 깨뜨릴 것입니다. 그만큼 rm 명령은 하단의 Finder에서 삭제할 제안에 대한 명령 줄 대안입니다. http://pondini.org/TM/12.html
Pro Backup

-3

터미널을여십시오.

#sudo tmutil disablelocal

TM 백업을 삭제하지 않고 공간을 확보해야합니다.


2
그러면 OP가 요구하는 것이 아닌 내부 드라이브의 로컬 Time Machine 스냅 샷이 비활성화됩니다.
Scot

2
예 - 이것은 대상이 아닌 Mac 부팅 볼륨의 공간 만 비울 수 있습니다. 유용하지만, IMO와는 다른 질문이 있어야합니다.
bmike
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.