Linux에서 NextCloud Snap 설치를 백업하는 방법

Nextcloud는 현대적인 소프트웨어 솔루션으로, Linux 환경에서 Dropbox와 유사한 사용자 친화적인 스토리지 시스템을 구축하는 데 매우 유용합니다. 특히 Snap 패키지를 통해 소프트웨어 설치가 매우 간단해졌지만, Nextcloud Snap 설치를 백업하는 과정은 다소 복잡할 수 있습니다.

주의: Nextcloud 백업을 진행하기 전에 모든 파일 동기화가 완료되었는지 확인해야 합니다. 백업 과정 중 Nextcloud Snap이 중단되며, 연결된 모든 사용자의 서비스가 일시적으로 중지됩니다.

서버 일시 중단

Nextcloud, 특히 Snap 버전의 백업을 생성하려면 서버 소프트웨어를 잠시 멈춰야 합니다. 서버를 끄지 않고 백업을 시도하면 일부 파일이 저장되지 않거나 권한 오류가 발생하여 데이터 손실의 위험이 있습니다.

다행히도 실행 중인 Nextcloud 서버를 중단하는 과정은 설치만큼이나 간단합니다. 먼저 터미널을 열고 `su` 또는 `sudo -s` 명령을 사용하여 루트 권한을 얻습니다. 그런 다음 `snap stop` 명령을 사용하여 Nextcloud의 모든 서비스를 중단합니다.

su -

또는

sudo -s

snap stop nextcloud

`snap stop` 명령을 실행하면 SQL 데이터베이스를 포함한 모든 Nextcloud 서비스가 비활성화됩니다. 서비스가 제거되는 것은 아니므로 안심하십시오. 모든 파일은 안전하게 보존됩니다.

로컬 폴더 백업

서버가 일시 중단된 상태에서 Nextcloud 백업을 안전하게 생성할 수 있습니다. 서버 측 백업을 시작하기 전에 각 사용자의 `~/Nextcloud` 폴더를 백업하는 것이 좋습니다. 이렇게 하면 서버 백업에 문제가 생기더라도 사용자가 데이터 사본을 안전하게 보관할 수 있습니다.

Nextcloud 동기화 폴더를 백업하려면 동기화 서버를 사용하는 Linux PC에서 터미널을 열고, `tar` 명령을 사용하여 `~/Nextcloud` 폴더를 압축 파일로 만듭니다. 아래 명령에서 “username” 부분을 실제 사용자 이름으로 변경해야 합니다.

tar -zcvpf nextcloud-local-backup-username.tar.gz ~/Nexcloud

`~/Nextcloud` 폴더 크기에 따라 압축 과정에 시간이 걸릴 수 있습니다. 압축이 완료되면 `GPG` 명령을 사용하여 아카이브를 암호화하여 보안을 강화합니다.

gpg -c nextcloud-local-backup-username.tar.gz

rm nextcloud-local-backup-username.tar.gz

GnuPG는 `nextcloud-local-backup-username.tar.gz.gpg` 파일을 생성합니다.

GPG 암호화가 완료되면 암호화된 백업 파일을 안전한 장소에 보관합니다.

Nextcloud 서버 백업

Snap 버전의 Nextcloud 백업은 기존 Nextcloud 설정보다 훨씬 간단합니다. Nextcloud Snap 폴더에 모든 것이 포함되어 있으므로 SQL 데이터베이스를 별도로 내보내거나 복잡하게 파일을 다룰 필요가 없습니다. 단순히 두 개의 폴더를 복사하는 것만으로 전체 Nextcloud 백업을 만들 수 있습니다.

Nextcloud Snap 디렉토리에서 백업할 첫 번째 폴더는 구성 디렉토리입니다. Nextcloud 구성 폴더의 위치를 확인하려면 `lsblk` 명령을 실행하여 시스템 경로를 확인해야 합니다. 이 글을 작성하는 시점에서는 마운트 폴더가 다음과 같습니다.

/var/lib/snapd/snap/nextcloud/7658

`mkdir` 명령으로 `/home/username/` 디렉토리에 새 백업 폴더를 만들고, `cp` 명령을 사용하여 모든 파일을 복사합니다.

mkdir ~/nextcloud-server-backup

mkdir ~/nextcloud-server-backup/config
sudo cp -rp /var/lib/snapd/snap/nextcloud/7658/* /home/username/nextcloud-server-backup/config

Nextcloud 구성 파일이 백업 폴더에 복사되면 데이터 백업을 진행합니다.

mkdir ~/nextcloud-server-backup/data

sudo cp -rp /var/snap/nextcloud/common/* /home/username/nextcloud-server-backup/data

백업 압축

백업이 완료되었으므로 안전하게 보관하기 위해 Tar 아카이브로 압축하는 것이 좋습니다. 터미널에서 `tar` 명령을 사용하여 데이터를 TarGZ 아카이브로 압축합니다.

참고: 백업 압축 전에 충분한 디스크 공간이 있는지 확인해야 합니다.

tar -zcvpf nextcloud-snap-server-backup.tar.gz ~/nextcloud-server-backup

Nextcloud에 저장된 데이터 양에 따라 압축 시간이 달라질 수 있습니다. 압축이 완료되면 백업 파일을 외장 하드 드라이브나 백업 서버로 이동합니다.

암호화된 백업

Nextcloud 서버 백업 파일이 있지만 암호화되지 않았으므로 보안상 취약할 수 있습니다. Nextcloud 서버 데이터가 외부 노출로부터 안전하게 보호되도록 `GnuPG`를 사용하여 암호화합니다.

백업을 암호화하려면 터미널을 열고 다음 명령을 실행합니다.

gpg -c nextcloud-snap-server-backup.tar.gz

Nextcloud 로컬 백업과 마찬가지로 GPG는 `nextcloud-snap-server-backup.tar.gz.gpg` 파일을 생성합니다. 이 파일은 암호화되어 안전하므로 암호화되지 않은 원본 아카이브는 삭제해도 됩니다.

rm nextcloud-snap-server-backup.tar.gz

백업 복원

백업을 복원해야 하는 경우, 먼저 `nextcloud-snap-server-backup.tar.gz.gpg` 파일을 `/home/username/` 디렉터리로 옮깁니다.

다음으로 `gpg` 명령을 사용하여 아카이브의 암호를 해독합니다.

gpg nextcloud-snap-server-backup.tar.gz.gpg

그리고 `tar` 명령을 사용하여 아카이브를 압축 해제합니다.

tar -xvpf nextcloud-snap-server-backup.tar.gz

백업을 복원하기 전에 Nextcloud를 다시 설치해야 합니다(새 시스템의 경우).

sudo snap install nextcloud

sudo snap stop nextcloud

이제 백업 파일을 복원합니다.

sudo cp -rpf /home/username/nextcloud-server-backup/data/* /var/lib/snapd/snap/nextcloud/7658/

sudo cp -rpf /home/username/nextcloud-server-backup/config/* /var/snap/nextcloud/common/

마지막으로, `snap start` 명령을 사용하여 Nextcloud 서버를 다시 시작합니다.

sudo snap start nextcloud