Time Machine 백업 완벽 가이드 — 설정, 복원, 네트워크 백업

Time Machine이란?

Time Machine은 macOS에 내장된 자동 백업 시스템입니다. 시간별, 일별, 주별 스냅샷을 자동으로 생성하며, 파일 단위부터 전체 시스템까지 복원할 수 있습니다. 외장 디스크, NAS, Time Capsule을 백업 대상으로 사용할 수 있습니다.

이 글에서는 Time Machine의 기본 설정, 제외 폴더 관리, 파일 복원, NAS 네트워크 백업을 정리합니다.

기본 설정

외장 디스크를 연결하면 Time Machine 백업 디스크로 사용할 것인지 자동으로 묻습니다. 수동 설정도 가능합니다.

# Time Machine 상태 확인
tmutil status
# 출력 예시:
# {
#     BackupPhase = Copying;
#     DateOfStateChange = "2026-03-05 01:00:00 +0000";
#     Percent = "0.85";
#     Running = 1;
# }

# 백업 디스크 목록 확인
tmutil destinationinfo
# 출력 예시:
# ====================================================
# Name          : Backup HD
# Kind          : Local
# Mount Point   : /Volumes/Backup HD
# ID            : XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

# 외장 디스크를 Time Machine 백업 대상으로 추가
sudo tmutil setdestination /Volumes/BackupDisk

# 여러 백업 대상 추가 (기존 유지하고 추가)
sudo tmutil setdestination -a /Volumes/SecondBackup

백업 활성화 및 스케줄

# Time Machine 활성화
sudo tmutil enable

# Time Machine 비활성화
sudo tmutil disable

# 수동 백업 즉시 시작
tmutil startbackup

# 백업 진행 중지
tmutil stopbackup

# 다음 백업 예정 시간 확인
tmutil status | grep -i "date"

# 최근 백업 시간 확인
tmutil latestbackup
# 출력 예시: /Volumes/Backup HD/Backups.backupdb/MacBook/2026-03-05-010000

# 모든 백업 스냅샷 목록
tmutil listbackups
# 출력: 날짜별 백업 경로 목록

기본적으로 Time Machine은 매시간 자동 백업합니다. macOS Ventura 이후에는 설정에서 백업 빈도를 변경할 수 있습니다(수동, 매시간, 매일, 매주).

제외 폴더 설정

개발 관련 폴더 중 백업이 불필요한 대용량 디렉토리를 제외하면 백업 속도와 디스크 공간을 절약할 수 있습니다.

# 제외 폴더 추가
sudo tmutil addexclusion ~/Library/Caches
sudo tmutil addexclusion ~/node_modules
sudo tmutil addexclusion ~/.docker
sudo tmutil addexclusion ~/Library/Developer/Xcode/DerivedData

# 개발 프로젝트 내 불필요한 폴더 제외
sudo tmutil addexclusion ~/Projects/myapp/node_modules
sudo tmutil addexclusion ~/Projects/myapp/.next
sudo tmutil addexclusion ~/Projects/myapp/dist

# 고정 제외 (경로가 바뀌어도 유지)
sudo tmutil addexclusion -p ~/VirtualMachines

# 현재 제외 목록 확인
sudo tmutil isexcluded ~/Library/Caches
# 출력: [Excluded] /Users/사용자/Library/Caches

# 제외 해제
sudo tmutil removeexclusion ~/Library/Caches

개발자가 일반적으로 제외하면 좋은 폴더 목록입니다.

# 개발자용 제외 목록 일괄 설정 스크립트
#!/bin/bash
# exclude-dev-dirs.sh

# 패키지 매니저 캐시
EXCLUDE_DIRS=(
    "$HOME/Library/Caches"
    "$HOME/Library/Developer/Xcode/DerivedData"
    "$HOME/Library/Developer/CoreSimulator"
    "$HOME/.docker"
    "$HOME/.gradle"
    "$HOME/.m2"
    "$HOME/.cargo/registry"
    "$HOME/.npm/_cacache"
    "$HOME/.pyenv/versions"
)

for dir in "${EXCLUDE_DIRS[@]}"; do
    if [ -d "$dir" ]; then
        sudo tmutil addexclusion "$dir"
        echo "제외됨: $dir"
    fi
done

# node_modules 전체 검색 후 제외
find "$HOME/Projects" -name "node_modules" -type d -maxdepth 4 | while read dir; do
    sudo tmutil addexclusion "$dir"
    echo "제외됨: $dir"
done

echo "제외 설정 완료!"

파일 복원

삭제하거나 덮어쓴 파일을 Time Machine에서 복원할 수 있습니다. GUI와 CLI 두 가지 방법이 있습니다.

GUI로 복원

Finder에서 복원할 폴더를 열고 메뉴바의 Time Machine 아이콘 → “Time Machine 시작”을 클릭합니다. 타임라인에서 원하는 시점을 선택한 후 “복원” 버튼을 클릭합니다.

CLI로 복원

# 백업에서 특정 파일 찾기
tmutil listbackups | tail -5
# 최근 5개 백업 경로 확인

# 백업 경로에서 파일 직접 복사
BACKUP="/Volumes/Backup HD/Backups.backupdb/MacBook/2026-03-04-150000"
cp "$BACKUP/Data/Users/사용자/Documents/중요파일.txt" ~/Desktop/

# 특정 날짜의 백업에서 폴더 전체 복원
tmutil restore \
    "$BACKUP/Data/Users/사용자/Projects/myapp/" \
    ~/Desktop/myapp-restored/

# APFS 스냅샷 목록 확인 (로컬 스냅샷)
tmutil listlocalsnapshots /
# 출력 예시:
# com.apple.TimeMachine.2026-03-05-010000.local
# com.apple.TimeMachine.2026-03-04-230000.local

로컬 스냅샷 관리

Time Machine은 외장 디스크가 연결되어 있지 않아도 로컬 APFS 스냅샷을 자동으로 생성합니다. 이 스냅샷으로 외장 디스크 없이도 최근 변경을 복원할 수 있습니다.

# 로컬 스냅샷 목록
tmutil listlocalsnapshots /
# 출력:
# com.apple.TimeMachine.2026-03-05-010000.local
# com.apple.TimeMachine.2026-03-04-230000.local
# com.apple.TimeMachine.2026-03-04-210000.local

# 특정 로컬 스냅샷 삭제 (디스크 공간 확보)
sudo tmutil deletelocalsnapshots 2026-03-04-210000

# 모든 로컬 스냅샷 삭제
for snapshot in $(tmutil listlocalsnapshots / | grep -o '20[0-9-]*'); do
    sudo tmutil deletelocalsnapshots "$snapshot"
done

# 로컬 스냅샷이 사용하는 디스크 공간 확인
tmutil listlocalsnapshots / | wc -l
# 스냅샷 개수 확인
df -h /
# "purgeable" 영역이 로컬 스냅샷 포함

NAS 네트워크 백업

Time Machine은 네트워크 드라이브(NAS)로의 백업도 지원합니다. Synology, QNAP 등 대부분의 NAS에서 Time Machine 서비스를 제공합니다.

# SMB 공유를 Time Machine 백업 대상으로 설정
# 1. 먼저 Finder에서 NAS에 연결
# Cmd+K → smb://nas-ip/TimeMachine

# 2. CLI로 백업 대상 추가
sudo tmutil setdestination -a "smb://사용자:비밀번호@nas-ip/TimeMachine"

# 3. 네트워크 백업 대상 확인
tmutil destinationinfo
# 출력 예시:
# ====================================================
# Name          : TimeMachine
# Kind          : Network
# URL           : smb://nas-ip/TimeMachine
# ID            : YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY

# 네트워크 백업 디스크 크기 제한 설정
# NAS 관리 페이지에서 할당량 설정 또는:
sudo defaults write /Library/Preferences/com.apple.TimeMachine \
    MaxSize -integer 500  # 500GB 제한

NAS에서 Time Machine 서비스를 활성화하는 일반적인 단계입니다.

  1. NAS 관리자 페이지 접속
  2. 공유 폴더 “TimeMachine” 생성
  3. 파일 서비스에서 SMB 활성화
  4. Time Machine 서비스 활성화 및 공유 폴더 지정
  5. Mac에서 Time Machine 설정에서 NAS 선택

새 Mac으로 마이그레이션

Time Machine 백업을 사용하여 새 Mac으로 전체 환경을 이전할 수 있습니다.

# 마이그레이션 전 최신 백업 확인
tmutil latestbackup

# 마이그레이션 방법:
# 1. 새 Mac 초기 설정 시 "마이그레이션 지원" 선택
# 2. "Time Machine 백업에서" 선택
# 3. 백업 디스크 연결 또는 네트워크 선택
# 4. 전송할 항목 선택 (앱, 설정, 문서 등)

# 마이그레이션 후 확인 사항
# - 앱 라이선스 재인증
# - SSH 키 동작 확인
ssh -T git@github.com
# - Homebrew 패키지 확인
brew list
# - 개발 도구 버전 확인
node --version
python --version

정리

Time Machine 백업 관리의 핵심 포인트를 정리합니다.

  • 자동 백업: Time Machine을 활성화하면 매시간 자동 백업되므로 별도 관리 불필요
  • 제외 폴더: node_modules, DerivedData, .docker 등 재생성 가능한 대용량 폴더는 제외 설정
  • 로컬 스냅샷: 외장 디스크 없이도 APFS 스냅샷으로 최근 변경을 복원 가능
  • NAS 백업: 외장 디스크를 매번 연결할 필요 없이 네트워크로 자동 백업
  • 디스크 크기: 백업 디스크는 Mac 저장 공간의 2~3배를 권장
  • 마이그레이션: 새 Mac으로의 환경 이전이 Time Machine으로 간단하게 가능
  • 암호화: 백업 디스크 암호화 옵션을 활성화하면 외장 디스크 분실 시에도 데이터 보호

이 글이 도움이 되었나요?