Xem Nội Dung Ngay

Phục hồi site Ghost ở server mới dựa vào backup của ghostFam

Bài viết dành riêng cho khách hàng đang dùng dịch vụ của ghostFam.

Cường Trần
Cường Trần
6 phút đọc
Phục hồi site Ghost ở server mới dựa vào backup của ghostFam

Nhiều bạn đang dùng dịch vụ ghostFam có thể quan ngại website mình sẽ ra sao nếu ghostFam ngừng hỗ trợ, ngừng hoạt động?

Bạn không cần lo lắng vì chỉ cần nắm file backup trong tay thì bạn luôn luôn an tâm. Dù có gì xảy ra đi nữa, bạn có thể tự di dời site đến bất cứ host nào bạn muốn ở bất cứ thời điểm nào (ngay bây giờ cũng được) hoặc ít nhất vẫn có thể nhờ người dời hộ.

Trong bài viết này tôi sẽ hướng dẫn bạn cách "hồi sinh" site đã được backup với dịch vụ quản lý Ghost của ghostFam. Tất cả file sao lưu luôn nằm an toàn ở pCloud (backup hàng ngày liên tục trong 30 ngày bên ngoài server).

Backup hàng ngày, lưu trữ 30 ngày ở pCloud
Backup hàng ngày, lưu trữ 30 ngày ở pCloud

Nếu site bạn vẫn đang hoạt động bình thường thì dùng cách migration này sẽ đơn giản hơn:

Hướng dẫn cách tự backup và migration Ghost CMS
Hướng dẫn cách tự sao lưu backup dữ liệu cho blog Ghost của bạn.

1. Phục hồi hình ảnh và theme Ghost

Khi thực hiện sao lưu Ghost thì bạn chỉ sao lưu đúng thư mục content mà thôi vì đây là thư mục chứa ảnh cho các bài viết và theme hiện hành bạn đang dùng.

Vì vậy, khi phục hồi, bạn chỉ cần thay thế folder content ở mục cài đặt Ghost mới.

content
   ├── /apps
   ├── /data
   ├── /images
   ├── /logs
   ├── /setting
   └── /themes
Mỗi backup zip chính là thư mục content Ghost của bạn
Mỗi backup zip chính là thư mục content Ghost của bạn

Cách đơn giản nhất là dùng Filezilla để thay thế thư mục content trong thư mục Ghost mới cài đặt. Cách này tuy hơi lâu nhưng bạn sẽ dễ thực hiện.

dùng Filezilla để thay thế thư mục content
dùng Filezilla để thay thế thư mục content

Bạn cũng có thể nén zip thư mục content và giải nén bằng CLI kết hợp Filezilla sẽ nhanh hơn.

Trong trường hợp, bạn chỉ muốn phục hồi hình ảnh thì bạn nén folder images thành images.zip rồi upload lên Ghost Admin như cách bạn import content. Điều kiện là file images.zip phải dưới 500 MB.

Nếu images.zip nhỏ hơn 500 MB, bạn có thể tải thẳng trực tiếp bằng Ghost Admin
Nếu images.zip nhỏ hơn 500 MB, bạn có thể tải thẳng trực tiếp bằng Ghost Admin

2. Phục hồi database cho Ghost

Với các site Ghost đang dùng SQLite3, việc phục hồi database rất đơn giản như sau:

SQLite3 thích hợp cho các blog Ghost mới vì nhanh gọn lẹ, quản lý sao lưu phục hồi đơn giản hơn.

Bạn cũng copy toàn bộ thư mục ở bước 1 ở trên và chỉ làm thêm một thao tác là khai báo kết nối cho database ở config.production.json với đường dẫn và tên database chính xác ở thư mục sao lưu.

"database": {
  "client": "mysql",
  "connection": {
    "host": "127.0.0.1",
    "port": 3306,
    "user": "your_database_user",
    "password": "your_database_password",
    "database": "your_database_name"
  }
}
Thay thế block MySQL
"database": {
  "client": "sqlite3",
  "connection": {
    "filename": "content/data/TEN-DATABASE.db"
 },
Thành block SQLite3

Thay TEN-DATABASE.db thành tên database của bạn, bạn sẽ tìm thấy tên của database tại /content/data.

Với các site Ghost đang dùng database MySQL, việc phục hồi sẽ thử thách hơn một chút.

Bạn sẽ tìm thấy database export của mySQL tại thư mục 30days-database-backup.

Database MySQL của bạn được sao lưu tại 30days-database-backup
Database MySQL của bạn được sao lưu tại 30days-database-backup

Với DigitalOcean, bạn kết nối SSH và dùng lệnh sau:

sudo -i -u ghost-mgr

sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MATKHAU';
FLUSH PRIVILEGES;

gunzip < /var/www/ghost/2021-04-29.backupname.sql.gz | mysql -u root -pMATKHAU

sudo mysql -u root -pMATKHAU
show databases;

+--------------------+
| Database           |
+--------------------+
| information_schema |
| backupname         |
| ghost_production   |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

exit

ghost setup --no-setup-mysql

#? Enter your blog URL: https://DOMAINCUABAN.com
#? Enter your MySQL hostname: localhost
#? Enter your MySQL username: root
#? Enter your MySQL password: MATKHAU
#? Enter your Ghost database name: backupname

ghost restart
  • 2021-04-29.backupname.sql.gz là tên file chính xác bạn tải về từ pCloud theo ngày.
  • MATKHAU là mật khẩu MySQL của bạn tự đặt.
Tự cài đặt Ghost CMS với DigitalOcean Marketplace tự động
Hướng dẫn tự cài đặt Ghost CMS tự động bằng DigitalOcean với một nút bấm.

Lời kết...

Trong trường hợp bạn gặp khó khăn làm mãi không được, bạn có thêm một lựa chọn là nhờ dịch vụ Ghost (Pro) migrate dùm  khi bạn mua gói $29/tháng, trả theo năm là $348/năm. Gói $9/tháng sẽ không có dịch vụ migrate.

Ghost (Pro) là gì? Tìm hiểu về dịch vụ Ghost (Pro) - Bạn có nên dùng?
Ghost (Pro) là gì? Hãy cùng tìm hiểu về dịch vụ chính chủ vô cùng nổi tiếng này của Ghost CMS nhé!

Nếu bạn không muốn dùng Ghost (Pro) vì chi phí cao, và muốn cài đặt trên host của bạn, bạn có thể dùng dịch vụ Gloat, phí $99/lần, bao gồm migration. Bạn chỉ cần cung cấp Database và Backup Content của ghostFam cho họ là được.

Ghost installation service ($99)
An affordable self-hosted Ghost installation service for non-developers.

Như bạn thấy, GhostFam tự hào là dịch vụ quản lý Ghost rẻ nhất trên thị trường Việt Nam và cả thế giới. Đây chỉ là kế hoạch B cho bạn để bạn an tâm dùng dịch vụ của GhostFam.

Mọi thứ tôi đã chuẩn bị cho bạn!

Hướng Dẫn

Bạn có thể quan tâm

Tự tạo thông báo email khi có thành viên mới đăng ký bằng IFTTT

Hướng dẫn tự tạo thông báo email thời gian thực khi có thành viên mới đăng ký bằng IFTTT miễn phí.

Tự tạo thông báo email khi có thành viên mới đăng ký bằng IFTTT

Thủ thuật chuyển đổi "đồng loạt" mọi định dạng ảnh sang WebP

Hướng dẫn chuyển đổi "all-in-one" đồng loạt mọi định dạng ảnh cho bài viết sang webp với một lệnh đơn giản.

Thủ thuật chuyển đổi đồng loạt mọi định dạng ảnh sang WebP

Mẹo tạo popup thông báo đơn giản cho website Ghost

Hướng dẫn cách tạo Popup thông báo cho Ghost siêu nhanh và đơn giản.

Mẹo tạo popup thông báo đơn giản cho website Ghost
Cường Trần

Cường Trần

Cường chuyên viết về giải pháp liên quan đến WordPress và Ghost, là một How-to blogger thực chiến.