Cum se face backup unui site Drupal pe Linux

Utilizarea Drupal pentru a vă gestiona conținutul este o modalitate excelentă de a profita la maximum de un site web. Mai ales că are zeci de instrumente, plugin-uri și funcții de oferit. În ciuda tuturor lucrurilor grozave pe care le face Drupal, backup-ul nu este unul dintre ele. Aceasta este o adevărată dezamăgire pentru un software CMS, de altfel, stelar. Deoarece nu există un instrument grozav pe care să îl puteți folosi pentru a face backup pentru un site Drupal Linux, trebuie să o faceți manual.

Dosar de rezervă

Pentru a face backup unui site Drupal pe Linux, trebuie să creați un folder pentru a păstra fișierele exportate. În terminal, utilizați comanda mkdir pentru a crea un folder de rezervă.

Mai întâi, conectați-vă ca root cu su.

su -

Alternativ, utilizați sudo -s pentru a obține root dacă nu cunoașteți parola de sistem.

sudo -s

Apoi, creați un folder de rezervă în /.

mkdir -p drupal-backups

Exportați fișiere SQL

Apoi, trebuie să exportați toate fișierele bazei de date SQL. Fișierele SQL ar trebui să fie gestionate de contul root. Nu încercați să faceți această copie de rezervă cu un utilizator obișnuit.

În folderul drupal-backups, creați un subdosar SQL și un subdosar de instalare.

mkdir -p /drupal-backups/sql

mkdir -p /drupal-backups/installation-files

mkdir -p /drupal-backups/apache2-conf

Utilizați mysqldump pentru a exporta fișierele bazei de date Drupal din instalarea SQL de pe server în folderul de rezervă.

Notă: înainte de a utiliza comanda de mai jos, schimbați „nume utilizator” și „nume bază de date” cu numele de utilizator SQL și numele bazei de date în SQL pe care Drupal îl folosește. La majoritatea instalărilor, numele implicit al bazei de date SQL este „drupal”.

cd drupal-backups/sql

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

Faceți backup fișierelor de instalare

Se face o copie de rezervă pentru fișierele de bază ale bazei de date. Următorul pas este să faceți o copie de rezervă a instalării reale a Drupal. Pentru a face acest lucru, va trebui mai întâi să faceți o copie completă a tuturor lucrurilor din /var/www//html/. Dacă ați urmat ghidul nostru pentru a instala Drupal, nucleul site-ului dvs. Drupal pe Linux se află direct în /var/www/html, fără sub-dosare. Folosind comanda cp, faceți o copie completă a folderului html și plasați-l în /drupal-backups/files.

  Cum să joci Dead Rising pe Linux

Notă: dacă instalarea dvs. este /var/www/html/drupal sau ceva similar, modificați comanda cp pentru a se potrivi nevoilor dvs.

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

Este important să obțineți o copie de rezervă a instalării Drupal. În acele fișiere sunt importante configurații ale site-ului, teme și etc. Cu toate acestea, nu sunt singurele fișiere care trebuie să facă backup. Un alt fișier cheie este configurația Apache2. Acest fișier de configurare spune serverului web Apache unde este instalarea Drupal și cum să o încărcați. Fără acest fișier, backup-ul este inutil.

Pentru a crea o copie de rezervă a fișierului de configurare Apache2, executați următoarea comandă:

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

Comprimați fișierele de rezervă

Acum că toate fișierele serverului Drupal necesare au fost copiate și sunt gata pentru backup, este timpul să creați o arhivă Tar. Comprimarea va face mutarea fișierelor de rezervă mult mai ușoară. Pentru a crea o arhivă Tar a fișierelor de rezervă Drupal, rulați următoarea comandă:

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

Comprimarea copiilor de rezervă este o idee bună, dar nu este sigură. Dacă aveți de gând să vă salvați site-ul Drupal pe un site web de stocare în cloud public, încărcarea arhivei Tar, necriptată înseamnă că oricine se poate încurca cu valorile din interiorul fișierelor bazei de date SQL, fișierele site-ului sau mai rău.

Cel mai bine este să criptați această arhivă înainte de a face orice altceva. Pentru a cripta, asigurați-vă că GnuPG este instalat. Nu o ai? Căutați „gpg” în managerul de pachete al serverului dumneavoastră Linux și instalați-l. După ce este instalat, rulați următoarea comandă pentru a cripta complet arhiva de rezervă Drupal.

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

Rularea gpg -c va spune lui GnuPG că doriți să criptați arhiva Tar și vă va cere o parolă de setat pentru noul fișier criptat GPG. Introduceți o parolă sigură și așteptați ca criptarea să se termine. Când GPG se termină, nu ezitați să copiați drupal-website-backup.tar.gz.gpg și să îl încărcați oriunde intenționați să păstrați backup-ul.

  Cum să utilizați comenzile Linux Cat (cu exemple)

Restaurați backupul

Descărcați fișierul de rezervă Drupal GPG pe serverul pe care doriți să restaurați copia de rezervă. Apoi, faceți următoarele:

su -

sau

sudo -s

Creați un loc pentru a păstra backup-ul.

mkdir -p /drupal-restore/

Mutați fișierul GPG în noul folder de rezervă.

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

Decriptați copia de rezervă, folosind GPG.

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

Extrageți copia de rezervă.

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

Introduceți folderul de rezervă extras.

cd drupal-restore/drupal-backups

Acum este timpul să începem restaurarea. Începeți prin a importa fișierele Drupal SQL în MySQL.

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

Acum că baza de date este instalată pe sistem, restaurați restul fișierelor.

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/

Mutarea fișierelor la locul lor este ultimul pas critic în procesul de restaurare.

Când totul arată bine, reporniți serverul Linux. Deși ar putea fi enervant să reporniți, este o idee bună. Efectuarea unei reporniri va asigura că toate serviciile necesare pentru a rula corect Drupal revin online. Când serverul revine online, totul ar trebui să fie așa cum a fost.