Sử dụng drush để sao lưu/khôi phục và di chuyển trang web Drupal

theanh

Administrator
Nhân viên
'Drush', hay "Drupal Shell", là một trong những người bạn tốt nhất của quản trị viên Drupal. Nhiều công cụ dòng lệnh của nó cho phép người dùng đăng nhập vào máy chủ web và thực hiện các tác vụ thường lệ như áp dụng bản cập nhật, chặn người dùng hoặc thậm chí "khởi động" một bản cài đặt Drupal hoàn toàn mới.

Giống như bất kỳ phần mềm nào, bạn nên sao lưu thường xuyên. Điều này cũng đúng trong trường hợp của Drupal, nơi các bản cập nhật cho các mô-đun bổ trợ sẽ thực hiện một số hoạt động cơ sở dữ liệu nhất định mà không thể dễ dàng hoàn tác. Nếu những điều này gây ra sự cố với các mô-đun khác hoặc lõi của Drupal, bạn sẽ muốn có thể "quay lại" phiên bản trước đó.

May mắn thay, ứng dụng drush cung cấp tiện ích "lưu trữ" hữu ích cũng như lệnh "khôi phục" tương ứng.


Sao lưu cài đặt hiện tại của bạn​

Lệnh drush đi kèm với nhiều lệnh phụ, trong số đó có lệnh drush ard hay "archive dump". Lệnh này thực hiện các hành động sau khi chạy từ bên trong cài đặt Drupal (tức là từ bất kỳ đâu trong cây thư mục):

  • Đầu tiên, nó sẽ xuất một bản sao của cơ sở dữ liệu cho trang web của bạn

  • Tiếp theo, nó sẽ lấy một bản sao của tất cả các tệp cài đặt

  • Cuối cùng, nó sẽ tạo một kho lưu trữ các tệp xuất cơ sở dữ liệu và trang web trong thư mục làm việc hiện tại
Điều này cho phép bạn tạo ảnh chụp nhanh trang web của mình bằng lệnh sau được hiển thị trong ví dụ bên dưới.

Lệnh drush ard của Drush.
Mã:
drush ard
Mã:
Đã lưu bản sao lưu cơ sở dữ liệu vào [thành công] /tmp/drush_tmp_1477498943_5810d83f2ad81/mobius_dev_drupal.sql Đã lưu kho lưu trữ vào [ok] /home/path/to/archive-dump/20161026162145/mydrupalsite.20161026_16 2206.tar.gz
Lưu ý cách drush sẽ thêm dấu ngày/giờ vào tệp lưu trữ…? tuyệt nhỉ?
Lưu ý

Bạn cũng có thể sử dụng lệnh sau để thực hiện lệnh tương tự như trên

  • drush archive-backup

  • drush arb
Theo mặc định, drush sẽ sử dụng tên tệp có chứa dấu ngày/giờ, do đó bạn có thể giữ nhiều ảnh chụp nhanh của trang web tùy thích. Các tệp sao lưu có định dạng tar gzipp chuẩn, do đó bạn có thể sử dụng tiện ích lưu trữ yêu thích của mình để kiểm tra nội dung của chúng. Một số tùy chọn hữu ích bạn có thể cung cấp cùng với lệnh drush ard như sau:

  • "--destination": Tùy chọn này cho phép bạn chỉ định một đích đến khác cho tệp sao lưu, do đó bạn sẽ không làm bừa bộn cài đặt Drupal của mình với các tệp lưu trữ ở các vị trí ngẫu nhiên. Lưu ý rằng bạn sẽ cần cung cấp đường dẫn đầy đủ và tên tệp, ví dụ: "drush ard --destination /home/user/backups/drupal/drupal_backup.tar.gz."

  • "--overwrite": Thông thường, nếu bạn cố gắng sao lưu với cùng đường dẫn và tên tệp như tệp hiện có, lệnh sẽ không thành công. Nhưng tùy chọn này cho phép bạn ghi đè tệp cũ bằng phiên bản mới. Tùy chọn này hữu ích nếu bạn muốn luôn giữ bản sao lưu hiện tại để khôi phục nhanh chóng.

  • "--no-core": Tùy chọn này cho phép bạn loại trừ cài đặt Drupal cốt lõi và chỉ sao lưu dữ liệu liên quan đến trang web bạn đã xây dựng. Tại sao bạn muốn làm điều này? Vâng, bạn luôn có thể tải bản phát hành Drupal mới nhất từ trang web của dự án hoặc FTP, vì vậy bạn không cần phải lãng phí dung lượng lưu trữ trên đó. Cũng có thể có điều gì đó đã xảy ra với cài đặt cốt lõi của bạn và bạn muốn khôi phục bản sao sạch của Drupal và sau đó là trang web của bạn trên đó.
Khi bạn có lệnh drush ard phù hợp với nhu cầu của mình, đừng quên đưa nó vào tập lệnh shell quản trị yêu thích của bạn hoặc như một phần của công việc cron của bạn.


Khôi phục trang web của bạn​

Vì vậy, trong trường hợp máy chủ cũ của bạn bị hỏng (xin lỗi), bạn đã tìm thấy dịch vụ lưu trữ mới, bao gồm không gian web và truy cập máy chủ cơ sở dữ liệu. Bây giờ là lúc khôi phục trang web của bạn từ một trong các bản sao lưu của bạn. Lệnh drush arr sẽ thực hiện việc này cho bạn nếu bạn thực hiện các bước sau:

  1. Trước tiên, hãy sao chép tệp sao lưu mà bạn muốn khôi phục vào vị trí mà bạn muốn khôi phục (thường là thư mục gốc của máy chủ web của bạn).

  2. Tiếp theo, hãy chạy lệnh drush arr '/path/to/nameofyourbackup.tar.gz'. Lệnh này sẽ giải nén toàn bộ cây thư mục cài đặt Drupal của bạn (với điều kiện là bạn không sử dụng tùy chọn "--no-core").

  3. Ngoài ra, trong thư mục gốc của cài đặt Drupal của bạn sẽ có một bản xuất cơ sở dữ liệu. Bạn sẽ cần nhập lệnh này vào cơ sở dữ liệu mới để khôi phục toàn bộ nội dung, người dùng, v.v. Giả sử bạn đang sử dụng cơ sở dữ liệu MySQL và đã tạo người dùng cơ sở dữ liệu, bạn có thể sử dụng một trong các lệnh sau để thực hiện nhập:

    Khi đã đăng nhập với tư cách là người dùng có quyền truy cập vào cơ sở dữ liệu Drupal mới, hãy đưa ra lệnh sau từ thiết bị đầu cuối: user@localhost:~$ mysql drupal_db_name < drush_backup_file.sql

  4. Khi sử dụng phpMySQL, bạn có thể sử dụng giao diện web để nhập tệp xuất vào cơ sở dữ liệu mới (trống).

[*]
Cuối cùng, bạn có thể cần thực hiện một số điều chỉnh đối với tệp settings.php của mình, bao gồm:

  1. Kiểm tra quyền trên trang web của bạn—?nếu bạn có tên người dùng khác khi trích xuất các tệp của trang web (và bạn có thể làm như vậy nếu đó là một tài khoản lưu trữ khác), bạn sẽ không thể sửa đổi bất kỳ tệp hoặc thư mục nào và thậm chí bạn có thể không xem được trang web của mình.

  2. Điều chỉnh URL và/hoặc cổng nơi trang web của bạn lưu trú.

  3. Thay đổi URL, tên người dùng và mật khẩu nơi cơ sở dữ liệu cho trang web của bạn lưu trú.
Sau khi hoàn tất, bạn sẽ có thể truy cập URL trang chủ của mình và thấy trang web của mình ngay khi bạn rời khỏi…? chỉ, chúng tôi hy vọng, trên một vật chủ có khả năng phục hồi tốt hơn.
 
Back
Bên trên