Linux에서 Drupal 사이트를 백업하는 방법

Drupal을 사용하여 콘텐츠를 관리하는 것은 웹사이트를 최대한 활용할 수 있는 좋은 방법입니다. 특히 수십 가지 도구, 플러그인 및 기능을 제공하기 때문에 더욱 그렇습니다. Drupal이 하는 모든 훌륭한 일에도 불구하고 백업은 그 중 하나가 아닙니다. 이것은 다른 뛰어난 CMS 소프트웨어에 대한 진정한 실망입니다. Drupal 사이트 Linux를 백업하는 데 사용할 수 있는 훌륭한 도구가 없기 때문에 수동으로 수행해야 합니다.

백업 폴더

Linux에서 Drupal 사이트를 백업하려면 내보낸 파일을 저장할 폴더를 만들어야 합니다. 터미널에서 mkdir 명령을 사용하여 백업 폴더를 만듭니다.

먼저 su로 root로 로그인합니다.

su -

또는 시스템 암호를 모르는 경우 sudo -s를 사용하여 루트를 얻습니다.

sudo -s

다음으로 /에 백업 폴더를 생성합니다.

mkdir -p drupal-backups

SQL 파일 내보내기

다음으로 모든 SQL 데이터베이스 파일을 내보내야 합니다. SQL 파일은 루트 계정에서 처리해야 합니다. 일반 사용자로 이 백업을 시도하지 마십시오.

drupal-backups 폴더에서 SQL 하위 폴더와 설치 하위 폴더를 만듭니다.

mkdir -p /drupal-backups/sql

mkdir -p /drupal-backups/installation-files

mkdir -p /drupal-backups/apache2-conf

mysqldump를 사용하여 서버의 SQL 설치에서 백업 폴더로 Drupal 데이터베이스 파일을 내보냅니다.

참고: 아래 명령을 사용하기 전에 “username”과 “databasename”을 SQL 사용자 이름과 Drupal이 사용하는 SQL의 데이터베이스 이름으로 변경하십시오. 대부분의 설치에서 기본 SQL 데이터베이스 이름은 “drupal”입니다.

cd drupal-backups/sql

mysqldump -u username -p databasename > db.drupal_backup-1.sql

설치 파일 백업

코어 데이터베이스 파일이 백업됩니다. 다음 단계는 Drupal의 실제 설치를 백업하는 것입니다. 이렇게 하려면 먼저 /var/www//html/에서 모든 항목의 전체 복사본을 만들어야 합니다. 가이드를 따라 Drupal을 설치했다면 Linux에서 Drupal 웹사이트의 핵심은 하위 폴더 없이 바로 /var/www/html 안에 있습니다. cp 명령을 사용하여 html 폴더의 전체 복사본을 만들어 /drupal-backups/files에 넣습니다.

  응답하지 않는 크롬북 앱을 닫는 방법

참고: 설치가 /var/www/html/drupal 또는 이와 유사한 경우 필요에 맞게 cp 명령을 변경하십시오.

cp -rp /var/www/html/*  /drupal-backups/installation-files/

Drupal 설치를 백업하는 것이 중요합니다. 이러한 파일에는 중요한 사이트 구성, 테마 등이 있습니다. 그러나 백업해야 하는 파일은 이것만이 아닙니다. 또 다른 핵심 파일은 Apache2 구성입니다. 이 구성 파일은 Apache 웹 서버에 Drupal 설치 위치와 로드 방법을 알려줍니다. 이 파일이 없으면 백업은 쓸모가 없습니다.

Apache2 구성 파일의 백업을 생성하려면 다음 명령을 실행합니다.

cp /etc/apache2/sites-available/drupal.conf /drupal-backups/apache2-conf/

백업 파일 압축

이제 필요한 모든 Drupal 서버 파일이 복사되어 백업할 준비가 되었으므로 Tar 아카이브를 만들 차례입니다. 압축하면 백업 파일을 훨씬 쉽게 이동할 수 있습니다. Drupal 백업 파일의 Tar 아카이브를 생성하려면 다음 명령을 실행하십시오.

tar -zcvpf drupal-website-backup.tar.gz /drupal-backups

백업을 압축하는 것은 좋은 생각이지만 안전하지 않습니다. Drupal 웹사이트를 공용 클라우드 저장소 웹사이트에 저장하려는 경우 Tar 아카이브를 업로드하는 경우 암호화되지 않음은 누구나 SQL 데이터베이스 파일, 사이트 파일 또는 더 나쁜 내부의 값을 엉망으로 만들 수 있음을 의미합니다.

다른 작업을 수행하기 전에 이 아카이브를 암호화하는 것이 가장 좋습니다. 암호화하려면 GnuPG가 설치되어 있는지 확인하십시오. 가지고 있지 않습니까? Linux 서버의 패키지 관리자에서 “gpg”를 찾아 설치합니다. 설치가 완료되면 다음 명령을 실행하여 Drupal 백업 아카이브를 완전히 암호화합니다.

gpg -c drupal-website-backup.tar.gz

gpg -c를 실행하면 GnuPG에 Tar 아카이브를 암호화하고 새 GPG 암호화 파일에 설정할 암호를 묻습니다. 보안 암호를 입력하고 암호화가 완료될 때까지 기다립니다. GPG가 완료되면 drupal-website-backup.tar.gz.gpg를 복사하여 백업을 보관할 위치에 업로드하십시오.

백업 복원

백업을 복원하려는 서버에 Drupal GPG 백업 파일을 다운로드합니다. 그런 다음 다음을 수행합니다.

su -

또는

sudo -s

백업을 보관할 장소를 만드십시오.

mkdir -p /drupal-restore/

GPG 파일을 새 백업 폴더로 이동합니다.

mv /folder/where/drupal-website-backup/is/drupal-website-backup.tar.gz.gpg /drupal-restore/

GPG를 사용하여 백업을 해독합니다.

gpg drupal-website-backup.tar.gz.gpg

백업을 추출합니다.

tar -xvpf drupal-website-backup.tar.gz

압축을 푼 백업 폴더를 입력합니다.

cd drupal-restore/drupal-backups

이제 복원을 시작할 때입니다. Drupal SQL 파일을 MySQL로 가져오는 것으로 시작하십시오.

cd sql
mysqldump -u username -p drupal < db.drupal_backup-1.sql

이제 데이터베이스가 시스템에 배치되었으므로 나머지 파일을 복원합니다.

cp /drupal-restore/drupal-backups/apache2-conf/drupal.conf /etc/apache2/sites-available/
sudo ln -s /etc/apache2/sites-available/drupal.conf /etc/apache2/sites-enabled/drupal.conf

cp -rp /drupal-restore/drupal-backups/installation-files/* /var/www/html/

파일을 제자리로 옮기는 것은 복원 프로세스의 마지막 중요한 단계입니다.

  GIF를 Apple Watch 배경 화면으로 사용하는 방법

모든 것이 괜찮아 보이면 Linux 서버를 다시 시작하십시오. 다시 시작하는 것이 귀찮을 수 있지만 좋은 생각입니다. 다시 시작하면 Drupal을 올바르게 실행하는 데 필요한 모든 서비스가 다시 온라인 상태가 됩니다. 서버가 다시 온라인 상태가 되면 모든 것이 원래대로여야 합니다.