Czy drush up wykonuje kopię zapasową / zrzut bazy danych?


Odpowiedzi:


7

Nie, nie ma. Tworzy kopię zapasową bieżących katalogów modułów, zanim je zastąpi.

Aby utworzyć zrzut SQL, użyj

drush sql-dump > filename.sql.

Pamiętaj jednak, aby przenieść plik poza katalog główny.


Chciałbym przypomnieć ludziom o zrobieniu zrzutu poza katalogiem głównym witryny; więc hakerzy będą trzymać się z daleka.
chrisjlee

Ta „zaakceptowana” odpowiedź jest nieprawidłowa. Drush w rzeczywistości zapewnia zrzut bazy danych: „drush sql-dump” drushcommands.com/drush-7x/sql/sql-dump
morze26.2

Um. Spróbuj ponownie przeczytać odpowiedź. Wszystko to, nie tylko pierwsze zdanie. Ponieważ dokładnie to napisałem. Pytanie brzmiało, czy „drush up” to robi, a nie czy drush może to zrobić.
Berdir

8

Aby zrobić zzipowany plik mysql za pomocą drush :

drush sql-dump --gzip --result-file

Aktualizacja z komentarza wranvaud: Jeśli nie określisz pliku wynikowego, zostanie on zapisany w twoim katalogu domowym pod ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gz:, w przeciwnym razie możesz określić --result-file = '~ / Documents /'


1
jeśli nie określisz pliku wynikowego, zostanie on zapisany w twoim katalogu domowym pod ~ / drush-backups / <db_name> / <timestamp> / <database_file> .sql.gz w przeciwnym razie możesz określić--result-file='~/Documents/<my_backups_folder>'
wranvaud

5

Jeśli masz zainstalowany moduł modułu Kopia zapasowa i migracja, możesz wywołać go z Drush za pomocą

$ drush bam-backup


drush natywnie obsługuje zrzut bazy danych, bez potrzeby stosowania dodatkowego modułu, patrz wyżej
wiifm

2

Jest to rozwiązanie skryptowe bash do tworzenia kopii zapasowych i przywracania z wiersza poleceń za pomocą drush i Acquia-Drupal :

  • Uwaga: Musisz zmienić tylko ścieżkę bazową, nazwę witryny i być może ścieżkę drush w obu skryptach, aby dopasować je do swoich potrzeb
  • Uwaga 2: Skrypt kopii zapasowej utworzy plik .tar zawierający pliki witryny oraz plik data.sql opisujący bazę danych
  • Uwaga 3: Skrypt przywracania wybierze ostatni plik kopii zapasowej .tar utworzony przez skrypt kopii zapasowej

INSTRUKCJE

1) Znajdź ścieżkę drush (drush jest zawarty w acquia), w moim przypadku (drushpath = "/ Applications / acquia-drupal / drush")

2) Utwórz backup_ mysite plik i restore_ mysite plik i uwzględnić je w swojej ścieżki folderu bin (na przykład: / usr / local bin /)

3) Edit backup_ mojawitryna

#!/bin/bash
# Text color variables
txtgrn=$(tput setaf 2)    # Green
txtylw=$(tput setaf 3)    # Yellow

basepath="path-to-your-server-root" #4ex "/Users/monojones/www"
backuppath="$basepath/backups"
drushpath="/Applications/acquia-drupal/drush"
sitename="your-sitename"
tempdir="$backuppath/backup_$sitename"

if [ -d $backuppath ]; then
 echo "Backup path finded. [ $backuppath ]"
else
  echo "Creating backup path... [ $backuppath ]"
  mkdir $backuppath
fi

echo "${txtylw}Backing up $sitename ... ${txtgrn}"
if [ -d "$backuppath/$sitename" ]; then
 echo "Backup subdir finded."
else
 echo "Creating $backuppath/$sitename" 
 mkdir $backuppath/$sitename
fi
echo "${txtylw}"
mkdir $tempdir
$drushpath/drush -r $basepath/$sitename  sql-dump --result-file=$tempdir/data.sql
tar -pczf $tempdir/files.tgz $basepath/$sitename $systempaths
tar -pczf $backuppath/$sitename/$sitename.backup_$(date +%Y%m%d%H%M).tar.gz $tempdir
rm -rf $tempdir

4) EDYCJA restore_ mojawitryna

#!/bin/bash
# Text color variables
txtred=$(tput setaf 1)    # Red
txtgrn=$(tput setaf 2)    # Green
txtylw=$(tput setaf 3)    # Yellow

basepath="path-to-your-server-root" #4ex "/Users/monojones/www"
backuppath="$basepath/backups"
sitename="your-sitename"
drushpath="/Applications/acquia-drupal/drush"

echo "${txtylw}Restoring ${txtred}$sitename ${txtylw} database: ${txtgrn}"
FILE=`ls -1 $backuppath/$sitename/$sitename.backup_* | tail -n 1`
echo "Last backup file: ${txtpur} $FILE ${txtylw}"
mkdir temp_drupalbackup_$sitename 
tar -C temp_drupalbackup_$sitename -zxvf $FILE ${backuppath:1}/backup_$sitename/data.sql
$drushpath/drush sql-drop
drush sql-cli <  temp_drupalbackup_$sitename/${backuppath:1}/backup_$sitename/data.sql
rm -R temp_drupalbackup_$sitename

1

Możesz także użyć synchronizacji sql do tworzenia kopii zapasowych.

$ drush sql-sync -v @site1 @site2

To najlepszy sposób na wykonanie kopii zapasowej witryny.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.