Czy drush up wykonuje kopię zapasową / zrzut bazy danych?
On 16 lutego, 2021 by admin Czy uruchomienie drush up
uruchamia kopię zapasową bazy danych? Z testów wynika, że tak nie jest. Czy powinienem wykonać oddzielną kopię zapasową bazy danych przed uruchomieniem drush up
w celu aktualizacji?
Komentarze
- Zobacz także drupal.stackexchange.com/questions/3363/…
Odpowiedź
Nie, nie „t. Tworzy kopię zapasową tylko bieżących katalogów modułu, zanim je zastąpi.
Aby utworzyć zrzut sql, użyj
drush sql-dump > filename.sql.
Ale pamiętaj, aby przenieść plik poza katalog główny twojej strony.
Komentarze
- Chciałbym przypomnieć ludziom o robieniu zrzutu poza katalog główny twojej strony; więc hakerzy będą trzymać się z daleka.
- Ta " zaakceptowana " odpowiedź jest nieprawidłowa. W rzeczywistości Drush zapewnia zrzut bazy danych: " drush sql-dump " drushcommands.com/drush-7x/sql/sql-dump
- Hm. Spróbuj ponownie przeczytać odpowiedź. To wszystko, a nie tylko pierwsze zdanie. Ponieważ to ' jest dokładnie tym, co napisałem. Pytanie brzmiało, czy " drush up " to robi, a nie jeśli drush może to zrobić.
Odpowiedź
Aby zgzipować plik mysql za pomocą narzędzia drush :
drush sql-dump --gzip --result-file
Aktualizacja z komentarza wranvaud: Jeśli nie określisz pliku wynikowego, zostanie on zapisany twój katalog domowy w: ~/drush-backups/<db_name>/<timestamp>/<database_file>.sql.gz
, w przeciwnym razie możesz określić –result-file = „~ / Documents /”
Komentarze
- jeśli nie ' nie określisz pliku wynikowego, który zostanie zapisany w Twoim folderze domowym w katalogu ~ / drush-backups / < db_name > / < timestamp > / < plik_bazy_danych > .sql.gz, w przeciwnym razie możesz określić
--result-file='~/Documents/<my_backups_folder>'
Odpowiedź
Jeśli masz Moduł Backup and Migrate , można go wywołać z Drush za pomocą
$ drush bam-backup
Komentarze
- drush natywnie obsługuje zrzut bazy danych, bez potrzeby stosowania dodatkowego modułu, patrz wyżej
Odpowiedź
To jest rozwiązanie skryptu bash do tworzenia kopii zapasowych i przywracania z wiersza poleceń z drush i Acquia-Drupal :
- Uwaga: Musisz tylko zmienić ścieżkę bazową, nazwę witryny i może drushpath w obu skryptach, aby pasował do twoich potrzeb
- Uwaga 2: Skrypt kopii zapasowej utworzy plik .tar zawierający pliki Twojej witryny oraz plik data.sql opisujący bazę danych
- Uwaga3: Skrypt przywracania wybierze ostatni plik kopii zapasowej .tar utworzony przez skrypt kopii zapasowej
INSTRUKCJE
1) Znajdź ścieżkę drush (plik drush jest zawarty w pliku acquia), w moim przypadku (drushpath = „/ Applications / acquia-drupal / drush” )
2) Utwórz plik backup_ mysite i plik restore_ mysite i umieść je w ścieżce folderu bin (na przykład: / usr / local / bin)
3) Edytuj backup_ mysite
#!/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) Edytuj restore_ mysite
#!/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
Odpowiedź
Możesz również użyć sql-sync do tworzenia kopii zapasowych.
$ drush sql-sync -v @site1 @site2
Komentarze
- To najlepszy sposób na utworzenie kopii zapasowej witryny.
Odpowiedź
Teraz z Drush 5 jest to bardzo łatwe
„Uwaga: Drush 5 wprowadził polecenia zrzutu archiwum i przywracania archiwum, które umożliwiają tworzenie kopii zapasowych kodu, plików i bazy danych w jednym pliku.”
Dodaj komentarz