restic과 backrest을 이용하여 웹 ui를 통해 쉽게 백업 및 다른 서버 및 PC에 쉽게 백업하는 방법을 알아보겠습니다.
# apt install -y restic nginx
restic과 웹으로 접속하기 위해 nginx 설치
# curl -fsSL https://raw.githubusercontent.com/garethgeorge/backrest/main/install.sh | bash -s — –root –no-tray
backrest 설치
# systemctl status backrest
# ss -tlnp | grep 9898

설치가 완료 되었을 경우 정상적으로 설치 되었는 지 확인
# rm -f /etc/nginx/sites-enabled/default
nginx 기본 파일이 살아있을 경우 기본 페이지로 접속될 수 있기 때문에 해당 파일은 삭제
# vi /etc/nginx/sites-available/backrest

파일 설정 후
# ln -sf /etc/nginx/sites-available/backrest /etc/nginx/sites-enabled/backrest
# nginx -t && systemctl reload nginx
설정을 활성화하고 적용
http://서버ip로 접근하면

사진과 같은 웹으로 접근이 가능
# ssh-keygen -t ed25519 -N “” -f /root/.ssh/id_ed25519
# ssh-copy-id backupuser@백업서버IP
ssh를 통해 타 서버에 데이터를 보내기 위해 ssh키 생성

Repository URL에는 백업 파일을 보낼 서버의 IP와 유저를 입력
SFTP Identity File에는 생성한 ssh key의 디렉토리 입력
known Hosts File에 /root/.ssh/known_hosts를 입력한 후 비밀번호 설정 후 제출버튼 클릭
백업은 플랜 추가에서 원하는 일자를 설정하여 백업이 가능하며

백업이 필요한 디렉토리 입력 후

원하는 일정을 cron을 통해 입력
테스트를 /home/test 디렉토리를 백업하는 것으로 설정했으며
# apt install -y restic
백업한 내용을 보기 위해서는 백업 받는 서버에서도 restic을 설치해서 볼 수 있으며,
백업을 진행한 유저 쉘에서
$ export RESTIC_REPOSITORY=/home/sy/restic-repo
$ read -s -p “저장소 비밀번호: ” RESTIC_PASSWORD; echo; export RESTIC_PASSWORD
를 입력해 레포지토리를 만들 때 설정했던 패스워드를 입력한 후

타 서버에 설정한 파일이 있는 것을 확인할 수 있다.
이렇게 웹 ui를 통해 쉽게 서버의 데이터를 백업할 수 있습니다.
이 글은 본인의 실제 경험과 학습을 기반으로 직접 작성하였으며, AI는 참고용으로만 활용하였습니다.
감사합니다.





