웹사이트 검색

다른 VPS 또는 전용 서버에 borg를 사용하여 추가 전용 백업


이 페이지에서

  1. 1 백업 서버 구성
    1. 1.1 borg 설치 및 새 borgbackup 사용자 생성
    2. 1.2 borgbackup 사용자를 위한 SSH 키 생성\n
    3. 1.3 백업 디렉토리 생성

    1. 2.1 Borg 설치
    2. 2.2 메인 서버가 백업 서버에 액세스하도록 허용\n
    3. 2.3 Borg 저장소 비밀번호 선택\n
    4. 2.4 borg 저장소 생성

    1. 3.1 수동으로 백업 실행\n
    2. 3.2 cron으로 백업 예약

    1. 4.1 백업 목록 표시\n
    2. 3.4 데이터 확인/복원\n

    1. 4.1 임시 읽기+쓰기 액세스 허용(백업 서버에서 수행)\n
    2. 4.2 오래된 백업 정리(메인 서버에서 수행)\n
    3. 4.3 읽기+쓰기 액세스 금지(백업 서버에서 수행)\n
    4. 4.4 최종 설명

    이 자습서에서는 무료 소프트웨어 백업 프로그램인 Borg를 사용하여 주 서버로 지정된 서버의 데이터를 여기서는 백업 서버로 명명된 다른 호스트에 백업하는 방법을 보여줍니다. 백업 서버는 일반적인 사용 시 주 서버가 새 데이터만 추가할 수 있고 이전 백업을 삭제하거나 변경할 수 없도록 구성됩니다. 이 추가 전용 기능은 백업이 별도의 위치에 있는 별도의 서버에 저장된다는 사실과 결합되어 예를 들어 자연 사고 또는 주 서버에 대한 해커 공격으로 인한 데이터 손실로부터 백업을 보호합니다.

    이 가이드를 따르기 위한 전제 조건은 Debian Stretch(9) 또는 Debian Buster(10)를 사용하고 두 개의 서버를 사용할 수 있어야 합니다. 하나는 백업이 수행되는 주 서버이고 다른 하나는 백업 아카이브가 저장될 백업 서버입니다. 이 두 서버는 최적의 보호를 위해 별도의 위치에 있어야 합니다.

    이 가이드는 첫 번째 섹션의 백업 서버에 대한 구성부터 시작합니다. 두 번째 섹션에서는 주 서버를 구성한 다음 백업, 테스트 복원을 수행하고 이전 백업 아카이브를 수동으로 정리하는 방법을 보여줍니다.

    1 백업 서버 구성

    1.1 borg 설치 및 새 borgbackup 사용자 생성

    백업 서버(백업이 저장되어야 하는 서버)에서 다음 명령을 사용하여 루트 터미널에 Borg를 설치합니다.

    apt install borgbackup

    그런 다음 곧 생성할 borg 사용자의 암호를 선택합니다. (각 사용자의 비밀번호는 필수이지만, 일반적으로 SSH 키를 사용하여 백업 서버에 연결하므로 이 비밀번호는 거의 사용되지 않습니다.) 임의의 64자 비밀번호를 생성하려면 이 명령을 사용하십시오. :

    < /dev/urandom tr -dc A-Za-z0-9 | head -c${1:-64};echo;

    클립보드에 표시된 borg 사용자의 암호를 복사하고 서버 자체가 아닌 다른 안전한 위치에 저장합니다.

    이제 borgbackup 사용자를 생성합니다.

    adduser borgbackup

    암호에 대한 질문을 받으면 아까 복사한 암호를 붙여넣고 Enter 키를 누른 다음 암호를 다시 붙여넣고 Enter 키를 누릅니다. 다른 것을 입력하지 말고 Enter 키를 눌러 다음 질문에 답하십시오.

    1.2 borgbackup 사용자를 위한 SSH 키 생성

    이제 su를 사용하여 새 사용자가 되어야 합니다.

    su borgbackup
    cd

    그런 다음 사용자를 위한 새 SSH 키 쌍을 생성합니다.

    ssh-keygen -t ed25519

    Enter 키를 누르면 일련의 질문이 표시됩니다. 답은 비워두고 명령이 완료될 때까지 계속해서 Enter 키를 여러 번 누르십시오. 키에 대한 암호를 설정하지 말고 해당 질문에 대해서도 Enter를 누르십시오.

    1.3 백업 디렉토리 생성

    이제 백업이 저장될 디렉토리를 생성할 차례입니다. borg 용어로는 borg 리포지토리로 정의됩니다. 우리는 단순히 디렉토리를 borgbackup이라고 부르지만 대신 메인 서버의 호스트 이름을 따서 이름을 지정할 수 있습니다.

    cd
    mkdir borgbackup
    chmod go-rwx borgbackup
    chmod u+rwx borgbackup

    2 메인 서버 설정 및 백업 서버 연결 방법

    2.1 보그 설치

    이제 우리는 백업 서버 작업에서 메인 서버 작업으로 이동합니다.

    주 서버(백업하려는 서버)에서 다음 명령을 사용하여 루트 터미널에 Borg를 설치합니다.

    apt install borgbackup

    나중에 메인 서버(현재 있는 서버)의 외부 IP 주소가 필요합니다. 쉽게 사용할 수 있도록 이 IP 주소를 복사하십시오. 주 서버의 외부 IP 주소가 기억나지 않는 경우 다음 명령을 실행하여 표시하십시오.

    wget -qO- http://ipecho.net/plain | xargs echo

    2.2 주 서버가 백업 서버에 액세스하도록 허용

    주 서버에서 실행하는 명령

    이제 메인 서버에서 백업 서버로 접속이 가능하도록 SSH 키 인증을 준비하겠습니다. 먼저 이 명령을 사용하여 주 서버에서 루트 사용자의 공개 SSH 키를 표시합니다.

    cat ~/.ssh/id_*.pub

    루트에 대한 SSH 공개 키가 있는 경우 이제 이 키가 표시되어야 합니다. 키를 클립보드에 복사하고 나중에 백업 서버의 파일에 붙여넣어야 합니다.

    키가 표시되지 않으면 키 쌍을 생성해야 합니다. 예를 들어, 이 경우 다음 명령을 실행합니다. ssh-keygen -t ed25519 다음에 Enter 키를 반복해서 누릅니다.

    이제 공개 SSH 키를 사용하여 메인 서버(현재 위치)에서 액세스를 허용하도록 백업 서버에 알려야 합니다. 이렇게 하려면 다음 명령을 입력하되 먼저 BACKUPHOSTNAME을 백업 서버의 호스트 이름으로 바꿉니다.

    ssh-copy-id -i ~/.ssh/id_*.pub BACKUPHOSTNAME

    백업 서버에 연결

    이제 1.1단계에서 만든 borgbackup 사용자의 암호를 입력해야 합니다. 이 작업이 완료되면 암호 없이 borgbackup 사용자로 백업 서버에 직접 액세스할 수 있어야 합니다. 이제 BACKUPHOSTNAME을 백업 서버의 호스트 이름으로 대체하여 다음 명령을 입력하여 이것이 가능한지 테스트합니다.

    ssh BACKUPHOSTNAME

    백업 서버에서 실행하는 명령

    이제 이 키를 사용하여 메인 서버의 IP 주소에서만 액세스를 제한하여 보안을 더욱 강화할 것입니다.

    백업 서버에 머물면서 다음 명령을 실행합니다.

    nano ~/.ssh/authorized_keys

    이제 ssh로 시작하는 긴 줄이 표시됩니다. 커서가 파일의 시작 부분에 있는지 확인하십시오. 같은 줄에서 ssh 키 앞에 다음 데이터를 추가하되 먼저 SERVERIPADDRESS를 서버의 IP 주소(이 섹션의 시작 부분에서 조사한)로 바꾸십시오.

    from="SERVERIPADDRESS",command="borg serve --append-only --restrict-to-path /home/borgbackup/borgbackup/",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc 

    추가한 섹션과 이후에 오는 ssh로 시작하는 기존 섹션 사이에 공백 문자가 있는지 확인하십시오. 그런 다음 Ctrl+O로 파일을 저장하고 Ctrl+X로 종료합니다. 이제 두 가지 방법으로 백업 서버에 대한 액세스를 제한했습니다. 첫째, 메인 서버의 IP 주소만 접근이 허용됩니다. 둘째, --append-only 옵션을 통해 borg 저장소에 데이터를 추가하는 것만 허용되지만 삭제 및 변경은 허용되지 않습니다.

    백업 서버와의 연결을 끊고 메인 서버로 복귀

    이 명령을 실행하여 백업 서버를 종료하고 주 서버로 돌아갑니다.

    exit

    2.3 Borg 리포지토리 암호 선택

    Borg 리포지토리는 백업이 저장되는 위치입니다. 선택해야 하는 보그 리포지토리 암호로 보호됩니다. 새 백업을 수행하고 이전 백업에 액세스하려면 비밀번호가 필요합니다. 비밀번호를 직접 설정하거나(최적의 보안을 위해 최소 20자 선택) 다음 명령을 사용하여 무작위로 64자 길이의 비밀번호를 생성할 수 있습니다.

    < /dev/urandom tr -dc A-Za-z0-9 | head -c${1:-64};echo;

    Borg 리포지토리 암호를 표시하고 Ctrl+C를 눌러 클립보드에 복사합니다. 이 비밀번호가 없으면 백업에 액세스할 수 없기 때문에 borg 리포지토리 비밀번호를 안전한 장소에 저장하는 것이 중요합니다! 따라서 서버가 아닌 다른 위치(예: 자신의 컴퓨터에 있는 암호 관리자(예: KeePass))에 지금 바로 Borg 암호의 복사본을 저장하십시오.

    2.4 보그 저장소 생성

    Borg 용어에서 백업이 저장되는 위치는 borg 저장소라고 합니다. 비밀번호는 이제 이 리포지토리 생성을 준비할 때 환경 변수로 설정됩니다. PASSWORD를 실제 암호로 바꾸고 주 서버의 루트 사용자로 아래 명령을 실행합니다.

    export BORG_PASSPHRASE='PASSWORD'

    이 방법으로 borg 리포지토리를 생성합니다. 하지만 먼저 BACKUPHOSTNAME을 백업 서버의 호스트 이름으로 바꿉니다.

    borg init -e repokey-blake2 BACKUPHOSTNAME:/home/borgbackup/borgbackup/

    이제 백업을 위해 borg를 사용하기 위한 모든 것이 준비되었으며, 이는 다음 섹션의 주제가 될 것입니다.

    3 메인 서버에서 백업

    3.1 수동으로 백업 실행

    다음 예에서는 백업과 관련이 없는 특정 디렉터리를 제외하고 메인 서버의 전체 시스템이 백업됩니다.

    계속하기 전에 주 서버에 루트로 로그인했는지 확인하십시오. 먼저 이 명령을 통해 borg 리포지토리 암호에 대한 환경 변수를 설정합니다(PASSWORD 를 실제 borg 리포지토리 암호로 바꿉니다.

    export BORG_PASSPHRASE='PASSWORD'

    그런 다음 다음 명령을 실행하여 전체 시스템 백업을 수행합니다. --exclude로 시작하는 디렉토리 제외를 필요에 맞게 조정하십시오. 예를 들어 --exclude=mnt를 추가하여 /mnt 디렉토리의 제외를 추가할 수 있습니다. 제외 패턴에 첫 번째 슬래시를 입력하면 안 됩니다. /mnt 대신 mnt를 씁니다. 또한 BACKUPHOSTNAME 을 백업 서버의 실제 호스트 이름으로 변경해야 합니다. borg는 일반적으로 백업이 실행되는 디렉터리에서 백업을 시작하므로 먼저 cd/명령을 실행해야 합니다.

    cd / && borg create --stats --progress --compress lz4 BACKUPHOSTNAME:/home/borgbackup/borgbackup/::`hostname`-`date +%Y-%m-%d-%H-%M-%S` ./ --exclude=dev --exclude=mnt/borgbackup -exclude=proc --exclude=run --exclude=root/.cache/ --exclude=sys --exclude=tmp && cd

    백업을 처음 실행하면 다소 시간이 걸립니다(백업할 데이터 양이 많은 경우 최대 몇 시간). 백업에서 처리 중인 파일 borg를 정확하게 업데이트하는 상태 표시줄이 표시됩니다. 마지막 백업 이후의 변경 사항만 전송되므로 두 번째부터는 백업 속도가 훨씬 빨라집니다.

    3.2 cron으로 백업 예약

    물론 수동 백업을 기억할 필요 없이 정기적으로 자동 백업을 실행하는 것이 가장 좋습니다. 이를 달성하기 위해 먼저 백업 작업을 실행하는 셸 스크립트를 생성한 다음 메인 서버의 루트 사용자로 nano 편집기를 사용하여 편집합니다.

    touch /usr/local/bin/borgbackup.sh
    chmod go-rwx /usr/local/bin/borgbackup.sh
    chmod u+rwx /usr/local/bin/borgbackup.sh
    nano /usr/local/bin/borgbackup.sh

    새 셸 스크립트에 다음 줄을 삽입합니다.

    #!/bin/sh
    export BORG_PASSPHRASE='PASSWORD'
    cd / && borg create --stats --progress --compress lz4 BACKUPHOSTNAME:/home/borgbackup/borgbackup/::`hostname`-`date +%Y-%m-%d-%H-%M-%S` ./ --exclude=dev --exclude=proc --exclude=run --exclude=root/.cache/ --exclude=mnt/borgmount --exclude=sys --exclude=tmp && cd

    PASSWORD 를 borg 리포지토리 암호로 바꾸고 BACKUPHOSTNAME 을 백업 서버의 호스트 이름으로 바꾸고 마지막으로 필요에 따라 제외 패턴을 조정해야 합니다. 추가할 수 있습니다. -exclude=mnt 백업에서 /mnt 디렉토리를 제외합니다. Ctrl+O를 눌러 나노 편집기에 파일을 저장한 다음 Ctrl+X를 눌러 종료합니다.

    다음으로 터미널에서 실행하여 스크립트를 테스트합니다.

    /usr/local/bin/borgbackup.sh

    매일 밤 02:00에 백업을 예약하려면 방금 만든 백업 셸 스크립트를 /etc/crontab에 추가합니다.

    nano /etc/crontab

    그런 다음 백업 작업을 사용하여 crontab에 새 줄을 추가합니다.

    # Backup via Borg to backup server 
    00 02           * * *   root    /usr/local/bin/borgbackup.sh

    4 파일 복원(메인 서버에 로그인한 상태에서)

    4.1 백업 목록 표시

    백업에서 데이터를 복원할 수 있음을 확인할 때까지 작동하는 백업 시스템이 없습니다. 따라서 다음 단계는 이전에 만든 백업을 확인하는 것입니다. 이는 주 서버의 루트 터미널에서 수행됩니다. 백업 아카이브를 추가 파일 시스템으로 마운트하여 이를 수행하지만 먼저 주 서버에서 루트 사용자로 쉘 스크립트를 생성하여 만든 백업 목록을 확인합니다.

    touch /usr/local/bin/borglist.sh
    chmod go-rwx /usr/local/bin/borglist.sh
    chmod u+rwx /usr/local/bin/borglist.sh
    nano /usr/local/bin/borglist.sh

    새 셸 스크립트에 다음을 삽입하여 PASSWORD 를 borg 리포지토리 암호로 바꾸고 BACKUPHOSTNAME 을 백업 서버의 호스트 이름으로 바꿉니다.

    #!/bin/sh
    export BORG_PASSPHRASE='PASSWORD'
    borg list -v BACKUPHOSTNAME:/home/borgbackup/borgbackup/

    Ctrl+O 다음에 Ctrl+X를 눌러 파일을 저장합니다. 그런 다음 다음과 같이 쉘 스크립트를 실행하십시오.

    /usr/local/bin/borglist.sh

    이제 만들어진 백업 목록이 표시됩니다. 따라서 첫 번째 백업이 만들어진 경우 목록에 하나의 항목이 표시되어야 합니다. 이제 아카이브 이름을 표시하고 클립보드에 복사합니다. 첫 번째 열에서 아카이브 이름을 찾을 수 있습니다. 이 이름은 mainhostname-2019-01-31-12-59-59 형식으로 주 서버의 호스트 이름과 날짜 및 시간으로 구성됩니다.

    3.4 데이터 확인/복원

    이제 전체 borg 리포지토리를 FUSE 파일 시스템 마운트로 마운트합니다. 즉, 백업된 모든 파일을 포함하여 borg 저장소가 파일 시스템이 되어 ls 및 cd와 같은 일반 명령을 통해 탐색하고 검사할 수 있습니다.

    Borg 리포지토리를 쉽게 마운트할 수 있도록 쉘 스크립트 형식으로 명령 바로 가기를 만듭니다. 다음과 같은 방법으로 셸 스크립트를 만들고 편집합니다.

    touch /usr/local/bin/borgmount.sh
    chmod go-rwx /usr/local/bin/borgmount.sh
    chmod u+rwx /usr/local/bin/borgmount.sh
    nano /usr/local/bin/borgmount.sh

    그런 다음 아래 줄을 schell 스크립트에 삽입하되 먼저 아래의 PASSWORD 를 borg 저장소 비밀번호로 변경하고 BACKUPHOSTNAME을 호스트 이름으로 변경하십시오. 백업 서버:

    #!/bin/sh
    mkdir -p /mnt/borgbackup
    export BORG_PASSPHRASE='PASSWORD'
    borg mount BACKUPHOSTNAME:/home/borgbackup/borgbackup/ /mnt/borgbackup

    Ctrl+O 다음에 Ctrl+X를 눌러 파일을 저장합니다. 그런 다음 다음과 같이 쉘 스크립트를 실행하십시오.

    /usr/local/bin/borgmount.sh

    이제 borg 리포지토리가 /mnt/borgbackup에 마운트되어야 합니다. cd 및 ls를 사용하여 이를 확인할 수 있습니다.

    cd /mnt/borgbackup
    ls

    이제 백업이 있는 디렉터리가 표시됩니다. cd를 사용하여 해당 디렉토리로 이동한 다음(DIRECTORYNAME을 방금 입력한 ls 명령의 결과로 표시되는 디렉토리 이름으로 대체) ls를 사용하여 내용을 확인합니다.

    cd DIRECTORYNAME
    ls

    이제 마지막 아카이브(마지막 백업)를 볼 수 있습니다. 다음 명령을 사용하여 파일이 올바르게 백업되었는지 diff와 비교할 수 있습니다(예: /etc/fstab).

    diff etc/fstab /etc/fstab

    마지막으로 보그 퓨즈 마운트를 마운트 해제하는 스크립트를 생성합니다.

    다음과 같은 방법으로 셸 스크립트를 만들고 편집합니다.

    touch /usr/local/bin/borgumount.sh
    chmod go-rwx /usr/local/bin/borgumount.sh
    chmod u+rwx /usr/local/bin/borgumount.sh
    nano /usr/local/bin/borgumount.sh

    그런 다음 schell 스크립트에 아래 줄을 삽입합니다.

    #!/bin/sh
    cd ~
    umount /mnt/borgbackup
    rmdir /mnt/borgbackup

    Ctrl+O 다음에 Ctrl+X를 눌러 파일을 저장합니다. 그런 다음 다음과 같이 쉘 스크립트를 실행하십시오.

    /usr/local/bin/borgumount.sh

    이제 borg fuse 마운트가 마운트 해제되었으며 터미널의 /root/ 디렉토리에 배치되었습니다.

    4 오래된 백업 정리(백업 및 주 서버 모두에 대한 액세스 필요)

    이제 백업 서버와 메인 서버 사이를 전환해야 합니다. 먼저 백업 서버의 명령부터 시작합니다.

    잠시 후 백업 크기가 커질 수 있습니다. 보안상의 이유로 주 서버에서 오래된 백업을 자동으로 삭제하는 것은 허용되지 않습니다. 그러나 백업 서버의 디스크 공간을 절약하기 위해 필요할 때 일시적으로 이전 백업 아카이브를 제거하도록 허용할 수 있습니다.

    이 제거 프로세스는 보그 용어로 정리(prune)라고 합니다. 정리 프로세스는 임시 읽기-쓰기 액세스를 허용하면서 백업 서버에서 시작됩니다. 그런 다음 메인 서버에 연결하여 정리 명령을 내립니다. 마지막으로 백업 서버에 다시 액세스하여 읽기-쓰기 액세스를 비활성화하여 이전 백업이 다시 삭제되거나 수정되지 않도록 보호합니다.

    4.1 임시 읽기+쓰기 액세스 허용(백업 서버에서 수행)

    이제 백업 서버에서 작업할 것입니다.

    따라서 백업 서버에 연결하고 루트로 로그인하십시오. 읽기+쓰기 액세스를 허용하려면 백업 서버에서 /home/borgbackup/.ssh/authorized_keys 파일을 변경해야 합니다. 다음 명령을 실행하여 borgbackup 사용자가 되고 파일을 백업한 다음 nano로 파일을 편집합니다.

    su borgbackup
    cd
    cp -a ~/.ssh/authorized_keys ~/.ssh/authorized_keys.bak
    nano ~/.ssh/authorized_keys

    이제 nano 편집기에서 from= 으로 시작하는 긴 줄을 볼 수 있습니다. Ctrl+K를 눌러 선을 잘라낸 다음 Ctrl+U를 누르고 다시 한 번 Ctrl+U를 눌러 이제 두 개의 동일한 선이 생깁니다. 키보드의 위로 키를 두 번 눌러 커서를 첫 번째 행에 설정합니다. 그런 다음 # 문자를 입력하여 첫 번째 줄을 주석 처리합니다. 그런 다음 키보드의 아래쪽 키를 눌러 두 번째 행으로 이동합니다. 여기에서 --append-only에서 첫 번째 위치에 설 때까지 키보드의 오른쪽 키를 사용하여 오른쪽으로 이동해야 합니다. 그런 다음 Del 키를 반복해서 눌러 --append-only 옵션을 삭제합니다. 파일은 대략 다음과 같아야 합니다. 첫 번째 줄을 주석 처리했으며 두 번째 줄에서 --append-only가 삭제되었습니다.

    #from="SERVERIPADDRESS",command="borg serve --append-only --restrict-to-path /home/borgbackup/borgbackup/",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc ssh ... (the line continues) ...
    from="SERVERIPADDRESS",command="borg serve --restrict-to-path /home/borgbackup/borgbackup/",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc ssh ... (the line continues) ..

    Ctrl+O로 파일을 저장하고 Ctrl+X로 종료합니다. 이제 Borg 리포지토리에 대한 읽기+쓰기 액세스를 활성화했습니다.

    4.2 오래된 백업 정리(메인 서버에서 수행)

    이제 새 터미널 창에서 루트 사용자로 주 서버에 연결하십시오.

    이제 주 서버에서 오래된 백업을 정리(즉, 제거)하는 스크립트를 생성합니다. 다음과 같은 방법으로 주 서버에서 셸 스크립트를 만들고 편집합니다.

    touch /usr/local/bin/borgprune.sh
    chmod go-rwx /usr/local/bin/borgprune.sh
    chmod u+rwx /usr/local/bin/borgprune.sh
    nano /usr/local/bin/borgprune.sh

    그런 다음 아래 행을 쉘 스크립트에 삽입하십시오. 그런 다음 PASSWORD를 borg 리포지토리 암호로 바꾸고 BACKUPHOSTNAME을 백업 서버의 호스트 이름으로 바꿉니다. 또한 보관할 이전 백업 수를 조정해야 합니다. 이 예에서는 일일 백업 7개, 주간 백업 4개, 월간 백업 12개를 유지합니다.

    #!/bin/sh
    export BORG_PASSPHRASE='PASSWORD'
    borg prune --stats --progress BACKUPHOSTNAME:/home/borgbackup/borgbackup/ --prefix `hostname`- --keep-daily=7 --keep-weekly=4 --keep-monthly=12

    Ctrl+O 및 Ctrl+X를 눌러 파일을 저장하고 종료합니다. 그런 다음 주 서버에서 방금 만든 정리 스크립트를 실행합니다.

    /usr/local/bin/borgprune.sh

    이 명령은 시간이 오래 걸릴 수 있지만(최대 몇 시간이 걸릴 수 있음) 100%에 도달하는 두 번의 패스를 통해 진행 상황을 볼 수 있습니다.

    4.3 읽기+쓰기 액세스 금지(백업 서버에서 수행)

    이제 백업 서버로 돌아가서 작업합니다.

    prune 명령이 기본 서버에서 완료되면 이제 borgbackup 사용자로 백업 서버에 연결하고 읽기+쓰기 액세스를 허용하지 않도록 /home/borgbackup/.ssh/authorized_keys 파일을 다시 편집합니다.

    백업 서버에서 다음과 같이 하십시오.

    su borgbackup
    cd
    nano ~/.ssh/authorized_keys

    nano 편집기에서 키보드의 Del 키를 눌러 첫 번째 행의 시작 부분에서 # 문자를 제거합니다. 그런 다음 아래쪽 키를 누르고 두 번째 줄에 새 # 문자를 삽입합니다. 그런 다음 파일은 대략 다음과 같아야 합니다.

    from="SERVERIPADDRESS",command="borg serve --append-only --restrict-to-path /home/borgbackup/borgbackup/",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc ssh ... (the line continues) ...
    #from="SERVERIPADDRESS",command="borg serve --restrict-to-path /home/borgbackup/borgbackup/",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc ssh ... (the line continues) ..

    Ctrl+O로 파일을 저장하고 Ctrl+X로 종료합니다. 이제 borg 저장소에 대한 읽기+쓰기 액세스를 비활성화했습니다.

    이제 백업은 추가 전용 방식으로 정상적으로 계속될 수 있으며 백업 서버에 저장된 백업을 대상으로 하는 주 서버의 삭제 시도로부터 보호됩니다.

    4.4 최종 설명

    이제 오프사이트 및 추가 전용 백업 시스템을 만들었습니다. 이는 백업이 두 가지 방식으로 보호됨을 의미합니다. 첫째, 백업은 주 서버와 물리적으로 분리되어 있다는 의미에서 보호됩니다. 두 번째이자 마지막으로 이미 수행된 백업은 주 서버의 변경 시도로부터 보호됩니다(수동 가지치기를 통해 명시적으로 변경하기로 결정한 경우 제외).