리눅스 스냅샷 Timeshift으로 안전하게 백업 및 복원하기
목차
Timeshift 설치 이유

제가 사용하려고 메모할 겸 써놓는 글 이지만 제가 유용하게 써먹을 것 같으니 다른 분에게도 작은 도움이라도 될까 기록을 남겨놓습니다.
리눅스 초짜로서 가끔 심심하면 서버 공부를 하는데 엊그제 대차게 말아먹어서.. 뭔가 새로운 설정을 하거나 작업할 때 문제가 생기면 바로 되돌릴 수 있도록 방법을 찾다가 Timeshift가 저의 용도에 적합해서 설치했습니다. 일반적으로 많이 사용되는 옵션이므로 알아두면 좋을 것 같습니다.
항상 게을러서 대충하려다 더 많은 시간을 날리게 됩니다. ㅜㅜ 여러분은 저와 같이 현명하지 못한 행동을 하지마시고 만일의 사태에 항상 대비하시길 바랍니다.
백업 범위
Timeshift는 드라이브 통째로 백업했다가 복원하는 툴이 아닙니다. 범위를 명확하게 인지하고 사용하시는게 좋습니다.
기본적인 스냅샷 범위:
- 시스템 파일 (
/etc
,/usr
,/bin
,/sbin
등) - 설치된 패키지와 시스템 설정
- 시스템 레벨의 웹서버 설정
제외되는 범위:
/home
디렉토리 (사용자 데이터)/tmp
,/var/tmp
(임시 파일)/var/log
(로그 파일)- 마운트된 외부 디스크
- MySQL DB
Timeshift 사용법
기본 명령어를 먼저 눈으로라도 한번 익히고 넘어가는게 좋을 것 같아서, 각 명령어가 의미하는 것을 주석으로 달아서 소개합니다.
#뒤에 있는 내용이 각 옵션의 설명입니다.
기본 구문
timeshift –check # 예약된 스냅샷이 있는지 확인하고 생성
timeshift –create [OPTIONS] # 새 스냅샷 생성
timeshift –restore [OPTIONS] # 스냅샷에서 시스템 복원
timeshift –delete-[all] [OPTIONS] # 스냅샷 삭제
timeshift –list-{snapshots|devices} [OPTIONS] # 스냅샷 또는 장치 목록 표시
목록 조회
–list[-snapshots] # 생성된 스냅샷 목록을 표시
–list-devices # 사용 가능한 저장 장치 목록을 표시
백업 생성
–check # 예약된 스냅샷 일정이 있으면 자동으로 생성 (cron 작업에 유용)
–create # 예약과 관계없이 즉시 새 스냅샷 생성
–comments “설명” # 스냅샷에 대한 설명/주석 추가
–tags {O,B,H,D,W,M} # 스냅샷에 태그 추가 (O=수동, B=부팅, H=시간별, D=일별, W=주별, M=월별)
복원
–restore # 대화형 모드로 스냅샷 복원 (스냅샷 선택 가능)
–snapshot “스냅샷명” # 복원할 특정 스냅샷 지정
–target[-device] /dev/xxx # 복원할 대상 장치 지정
–grub[-device] /dev/xxx # GRUB2 부트로더를 설치할 장치 지정
–skip-grub # GRUB2 재설치 건너뛰기 (부팅 문제 방지용)
삭제
–delete # 특정 스냅샷 삭제 (–snapshot과 함께 사용)
–delete-all # 모든 스냅샷 삭제 (주의!)
전역 옵션
–snapshot-device /dev/xxx # 스냅샷을 저장할 장치 지정 (기본값: 설정파일)
–yes # 모든 확인 프롬프트에 자동으로 “예” 응답 (스크립트용)
–btrfs # BTRFS 파일시스템 모드로 전환 (COW 스냅샷 사용)
–rsync # RSYNC 모드로 전환 (파일 복사 방식)
–debug # 디버깅용 추가 메시지 표시
–verbose # rsync 작업 과정을 상세히 표시 (기본값)
–quiet # rsync 출력 숨기기 (조용한 모드)
–scripted # 비대화형 모드 (스크립트 실행용)
–help # 모든 옵션 도움말 표시
–version # 버전 정보 출력
사용 예시
timeshift –list # 스냅샷 목록 확인
timeshift –list –snapshot-device /dev/sda1 # 특정 장치의 스냅샷 목록 확인
timeshift –create –comments “시스템 업데이트 후” –tags D # 일별 태그로 스냅샷 생성
timeshift –restore # 대화형 복원 모드
timeshift –restore –snapshot ‘2025-10-12_16-29-08’ –target /dev/sda1 # 특정 스냅샷으로 복원
timeshift –delete –snapshot ‘2025-10-12_16-29-08’ # 특정 스냅샷 삭제
timeshift –delete-all # 모든 스냅샷 삭제
주의사항
- –create는 항상 새 스냅샷을 생성함
- –check는 예약된 스냅샷이 있을 때만 생성함
- –restore를 단독으로 사용하면 대화형 선택 모드로 진입
- 장치명 대신 UUID 사용 가능
- 옵션을 지정하지 않으면 앱 설정에서 기본값 로드
스냅샷 생성
저는 첫 스냅샷을 sudo timeshift --create --comments "0921-설정"
이렇게 사용해봤습니다.

스냅샷이 완료되고 나면 sudo timeshift --list
명령어로 아래와 같이 정보를 알 수 있습니다.

스냅샷 용량이 궁금하시면 sudo du -sh /timeshift/snapshots/*
입력하면 아래와 같이 출력됩니다.
5.1G /timeshift/snapshots/2025-09-20_16-35-55
Timeshift 팁
인터넷에서 본 유용해 보이는 팁을 옮겨놓습니다. 저도 타임쉬프트를 이제 막 사용했기 때문에, 나중에 다시 보기 위한 메모이기도 합니다.
메모1
https://www.reddit.com/r/linuxmint/comments/1jsbgou/should_i_opt_for_system_snapshots/ 이 글에 달린 댓글 요약 메모.
댓글1
- Timeshift는 여러 번 시스템 문제를 해결하는 데 큰 도움을 주었습니다.
- 시스템이 망가졌거나 문제가 발생했을 때, 빠르게 이전 안정 상태로 복원할 수 있습니다.
- 부팅 드라이브 용량이 충분하다면 여러 개의 스냅샷을 저장하는 것도 가능합니다.
- Timeshift는 주로 OS와 관련된 파일을 백업하며, 사용자 데이터는 별도로 백업해야 합니다.
- /home 디렉터리를 포함하지 않는 것이 안전하며, 롤백 후 데이터 손실 위험을 방지할 수 있습니다.
댓글2
- 시스템 스냅샷은 OS만 대상으로 하며, 홈 디렉터리 포함은 불필요.
- 추천 스냅샷: 부팅용 3개, 일상용 2개, 총 5개 정도.
- 스냅샷은 OS 복원용으로만 사용하며, 오래된 자료는 별도 백업으로 저장.
- 홈 디렉터리 백업은 Backintime이나 Luckybackup 사용 추천.
- 백업 파일은 외부 저장장치 또는 클라우드에 저장하며, 장치는 번갈아 사용하거나 클라우드 활용.
- Mintbackup은 기본 백업 도구로 적합하지 않으며, 소프트웨어 목록 기능은 참고용일 뿐.
댓글3
- Timeshift는 적절히 설정 시 유용한 시스템 복원 도구입니다.
- 기본 저장 위치는 /이지만, 별도 파티션이나 물리적 드라이브에 저장하는 것이 바람직합니다.
- 데스크탑에는 과도한 일정보다는 월간/주간 스케줄이 적합합니다.
- 수동 스냅샷은 USB 드라이브에 저장 가능하나 한계가 있습니다.
- /home 디렉토리 제외, 개인 데이터는 저장하지 않는 것이 좋습니다.
- 3+2+1 백업 전략과 GUI 백업 프로그램 추천, 정기 디스크 이미지 백업(Clonezilla, Foxclone 등)도 권장됩니다.
메모2
긴 댓글 하나가 나중에 유용할 것 같아서 메모.
저도 Timeshift 좋아하고 써요.
Timeshift 제작자인 Tony George가 Baqpaq 라는 새로운 앱을 만들었어요.
Timeshift는 원래 개인 파일(예: /home)이 아닌 시스템 파일을 스냅샷하고 복원하도록 설계되었어요.
참고: 새 버전에는 홈 디렉토리도 백업하는 옵션이 있어요.
Baqpaq는 개인 파일을 스냅샷하고 복원하도록 설계되었어요 (*원본 링크는 작년 글이어서 홈페이지 소개 링크로 교체)
Timeshift와 Baqpaq의 조합 으로 이제 모든 걸 다 커버할 수 있어요.
둘 다 저한테는 아주 잘 작동하고 있어요.
그리고 혹시 BTRFS 쓰세요??
저는 BTRFS를 쓰고 있어요 . 2TB NVME 2개랑 2TB SATA SSD 2개 있어요.
그래서 완전한 Ubuntu BTRFS 전략을 사용하면서 스냅샷을 자동으로 유지하고 더 많은 BTRFS 통합을 추가하기 위해, Ubuntu에서 Timeshift와 grub-btrfs 를 찾아서 사용했어요
1년 넘게 그 “가이드”를 따라 모든 걸 설치했는데, 제 BTRFS 시스템은 그 이후로 아주 안정적이에요.
그의 단계를 따를 때는 뭔가 놓치거나 오타를 내지 않도록 주의하세요… 그냥 확인하라는 말이에요.
grub-btrfs 는 진짜 멋져요. 부팅 시 스냅샷을 선택해서 부팅할 수 있도록 Grub에 훅이 있어요. 참고로 grub-btrfs는 Grub을 대체하는 게 아니에요! 기능을 보완하는 거죠.
하지만 그 가이드에서는 ” apt get install xxxx ” 또는 ” apt get remove xxxx “를 실행하면 Timeshift가 자동으로 전후 스냅샷을 만들도록 설정해서, 설치하거나 제거한 게 혹시 잘못된 경우에 대비할 수 있게 해줘요.
이건 진짜 잘 작동했어요.
Lorenzo도 비슷한 가이드를 만들었어요: Linux Arch에서 Timeshift와 grub-btrfs
그는 TimeShift 대신 SNAPPER를 사용하는 BTRFS에 대한 다른 가이드도 가지고 있어요:
Arch Linux에서 Snapper와 grub-btrfs
저도 직접 테스트해 봤는데, Arch 기반 명령어를 Ubuntu 기반 명령어로 바꿔야 했어요.
솔직히 말해서 Snapper 는 설정하는 게 더 복잡했고, 개인적으로는 TimeShift로 다시 돌아갔어요.
Snapper가 Timeshift에 없는 유일한 기능은 Snapper가 시스템 및 사용자 파일 둘 다 스냅샷 할 수 있다는 거였는데, Timeshift는 시스템 파일만 스냅샷할 수 있었거든요.
하지만 Snapper가 추가한 그 기능은 Tony의 Baqpaq 앱 으로 해결됐어요. BaqPaq가 Timeshift의 시스템 파일 스냅샷을 보완해서 사용자 파일 스냅샷을 만들 수 있게 된 거죠 !
이제 Snapper를 사용하지 않고도 모든 걸 다 커버할 수 있게 됐어요.
두 앱이 너무 잘 작동해서, 저는 Tony가 이 두 도구에 쏟은 노고에 감사하며 Baqpaq 평생 라이선스를 $25에 구매했어요.
제 생각에는 그럴 만한 가치가 있어요.
아직 댓글이 없습니다