티스토리 뷰

반응형

Time machine 대안프로그램(restic)

 

애플 타임머신 대안프로그램(Apple Time Machine Alternative) / 무료 백업 및 복구 프로그램

 

Mac에 외장하드를 연결하고 Time Machine 기능과 Time Capsule로 설정을 하면 진짜 타임머신을 사용하는 것처럼 과거에 작성하던 파일, 삭제했던 파일을 언제든지 다시 복구하여 사용할 수 있습니다.

리눅스에서 이런 기능을 그대로 사용할 수 있는 무료 프로그램이 있습니다. restic 이름처럼 세련된 무료 백업 및 복구 프로그램인데요, 더 멋진 것은 저장되는 데이터가 모두 암호화되어 저장된다는 것입니다.

 

restic 설치 명령어

 

# restic 설치명령어

sudo apt-get install restic

 

restic은 터미널에서 사용하는 CLI 프로그램이며 리눅스에서 명령어 한 줄로 바로 설치할 수 있습니다.

리눅스가 설치된 컴퓨터가 아니라면 윈도 10 또는 윈도 11, wsl에 Kali Linux를 사용하셔도 됩니다.
(MS Store를 통해 설치 가능)

 

 

restic 사용방법

 

설치가 완료되었다면 restic --help를 입력해서 사용방법을 살펴보세요. 사용할 수 있는 command가 다음과 같이 나오게 됩니다.

 

 

프로그램을 사용하기 위해서는 먼저 백업 파일을 저장할 저장소(repository)를 생성해 줘야 합니다.
저장소(repository)를 만들 위치로 이동하여 restic init -r ./저장소디렉토리명 을 입력해서 생성할 수 있습니다.

자동으로 입력한 디렉터리가 생성되며 저장소의 비밀번호를 설정하게 됩니다. 이 비밀번호를 잊으시면 백업한 자료에 접근할 수 없게 됩니다. 꼭 기억할 수 있는 비밀번호를 설정하세요.

 

 

암호화 저장소(repository)에 백업을 진행하시려면 init command 대신 backup command를 사용하시면 됩니다.
사용 방법은 restic backup -r [저장소 디렉터리] [백업할 디렉터리 경로] 순으로 입력하시면 됩니다.
아래 이미지 속 명령어는 현재 디렉터리에 있는 Notebooks라는 repository에 ~/Notebooks(/home/superrroot/Notebooks/) 디렉터리를 백업하라는 명령어입니다.

 

 

해당 명령어로 백업을 실행하면 첫 번째 snapshot이 생성되게 됩니다. 생성된 snapshots을 확인하기 위해서는 snapshots command를 사용하시면 됩니다. 아래 사진을 참고하세요.

여기에서 중요한 것은 ID 항목에 보이는 snapshot ID 번호입니다. 이 ID 번호를 사용해서 다른 snapshot과 비교를 한다거나 필요 없는 snapshot을 삭제할 수 있습니다.

 

 

암호화 repository를 빈 디렉터리에 mount도 가능합니다.

mount command를 사용하시면 됩니다.  restic mount -r [repository 디렉터리명] [마운트 할 빈 디렉터리(생략가능)]
마운트 할 빈 디렉터리를 설정하지 않으면 명령어를 입력한 디렉터리에 자동으로 restic이라는 디렉터리가 생성됩니다. 그 내부에 들어가서 탐색이 가능합니다.

ctrl +c를 입력하면 unmount 됩니다.

 

 

백업된 데이터는 아래 이미지처럼 모두 암호화된 구조로 저장됩니다. 중요한 자료를 안전하게 보관할 수 있습니다. 랜섬웨어 감염도 피해 갈 수 있습니다.

 

 

스냅샷을 서로 비교하고 싶을 때에는 diff command를 사용하시면 됩니다.
아래 사진에는 총 2개의 snapshots이 있습니다. ID를 각각 복사 & 붙여넣기하여 비교할 수 있습니다.

 

 

 

repository에서 파일을 검색하시려면 find command를 사용할 수 있습니다. 그 이외에도 ls 명령어, cat, copy등 명령어도 사용이 가능합니다.

 

 

백업된 repository에서 restore command과 복구하려는 snapshot ID를 사용해서 선택한 snapshot으로 복원할 수 있습니다.

restic -r [repository directory] [ID] [restore] --targe [복구할 디렉토리 경로 및 디렉터리명(복구데이터가 저장되는 디렉터리)]

 

반응형
댓글