로그인

검색

[backrest docker] 백레스트 도커 설치 및 사용법 (restic, rustic, duplicati)

[backrest docker] 백레스트 도커 설치

 

이전에 duplicati 를 설치 했으나, 몇몇 사용자들이 복원할때, 에러가 발생하는 경우가 있다고 해서, 좀더 안정적인 backrest를 설치해 봅니다.

 

1. 웹ui 제공 앱

duplicati ; 자체 mysql 사용으로 인해, 복원시 에러가 발생할 수 있다고 함

backrest ; sqlite를 사용해서, db 문제를 해소 하였다.

 

2. 백업 앱

restic ; 명령어기반의 심플하지만, 강력한 백업 툴

rustic ; restic 포크이며, 'rust' 언어로 작성되어, 빠른 속도가 장점이며, 아직 발전중이다.

 

 

backrest 

docker-compose.yml

version: "3.2"
services:
  backrest:
    image: garethgeorge/backrest:latest
    container_name: backrest
    hostname: backrest
    volumes:
      - ./data:/data
      - ./config:/config
      - ./cache:/cache
      - /:/userdata  # Mount local paths to backup
      - /:/repos     # Mount local repos (optional for remote storage)

      - ./config/backrest/ssh:/root/.ssh                #ssh 접속
    environment:
      - BACKREST_DATA=/data
      - BACKREST_CONFIG=/config/config.json
      - XDG_CACHE_HOME=/cache
      - TZ=Asia/seoul
    ports:
      - "9898:9898"
    restart: unless-stopped

 

 

사용법

1. repo 설정

- local 및 remote 

2. plan 설정

Untitled-1 copy.JPG

 

경로 설정이 늘 혼란 스럽다.

docker 설치할때, 정한 경로를 기반으로 작성해야 한다.

 

 

 

telegram으로 결과 송출하기

 

Untitled-2 copy.JPG

 

 

 

Untitled-3 copy.JPG

 

 

 

 

 

remote server 에 저장하기 (sftp 사용)

https://garethgeorge.github.io/backrest/cookbooks/ssh-remote

 

rfrfr1 copy.JPG

 

- 리모트 서버에서 guest 계정을 추가한다. 

- 새로만든 계정에서 개인키와 공개키를 만든다.

- 리모트 서버에서 공개키를 authorize key 파일에 넣는다.

- 개인키는 backrest 도커 폴더에 넣는다.

- config 파일 만든다.

- know_host 파일을 만든다.

ubuntu@hostname:/vo3/docker/backrest$ sudo ssh-keyscan -H 222.1.12.29 > ./config/backrest/ssh/known_hosts
-bash: ./config/backrest/ssh/known_hosts: Permission denied
ubuntu@hostname:/vo3/docker/backrest$ sudo chmod -R 755 config
ubuntu@hostname:/vo3/docker/backrest$ sudo ssh-keyscan -H 222.1.12.29 > ./config/backrest/ssh/known_hosts
-bash: ./config/backrest/ssh/known_hosts: Permission denied
ubuntu@hostname:/vo3/docker/backrest$ sudo chmod -R 777 config                 

ubuntu@hostname:/vo3/docker/backrest$ sudo ssh-keyscan -H 222.1.12.29 > ./config/backrest/ssh/known_hosts
# 222.1.12.29:22 SSH-2.0-OpenSSH_8.9p1
# 222.1.12.29:22 SSH-2.0-OpenSSH_8.9p1
# 222.1.12.29:22 SSH-2.0-OpenSSH_8.9p1
# 222.1.12.29:22 SSH-2.0-OpenSSH_8.9p1
# 222.1.12.29:22 SSH-2.0-OpenSSH_8.9p1
ubuntu@hostname:/vo3/docker/backrest$

- 퍼미션 설정 (느슨한 퍼미션으로는 접속 불가)

ubuntu@hostname:/vo3/docker/backrest$ sudo chmod 700 ./config/backrest/ssh
ubuntu@hostname:/vo3/docker/backrest$ sudo chmod 600 ./config/backrest/ssh/

 

 

 

 

 

총평

- 깔끔하다.

- 좋다.

 

 

이 게시물을

이 댓글을 삭제하시겠습니까?