Trong bài backup thủ công này, mình sẽ sử dụng lẹnh zip và unzip vì lệnh này dễ sử dụng hơn lệnh tar. Chạy lệnh sau để cài đặt phần mềm zip:
1. Cài đặt zip và unzip trên Ubuntu
sudo apt install zip
sudo apt install unzip
2. Cài đặt zip và unzip trên CentOS
sudo dnf install zip
sudo dnf install unzip
II. Sao lưu và khôi phục mã nguồn
2.1. Mã nguồn dự phòng
- Chạy lệnh sau để baackup các file và folder trong source code của website trên VPS
zip -r [tên-file-cần-tạo] [thư-mục-cần-nén]
Ví dụ:Có source code tại đường dẫn virtualhost là: /home/webdata/hostvn.net/public_html và cần nén toàn bộ thành một file tên là: hostvn.zip thì chạy lệnh:
zip -r hostvn.zip /home/webdata/hostvn.net/public_html
Nếu cần lưu file hostvn.zip vào thư mục /home/backup/ thì chạy lệnh sau:
zip -r /home/backup/hostvn/home/webdata/hostvn.net/public_html
Lưu ý: Tốt nhất nên cd vào thư mục trước rồi zip sau:
cd /home/webdata/hostvn.net/public_html
zip -r hostvn
2.2 Khôi phục source code từ file dự phòng
Để khôi phục giữ liệu hay còn gọi là giải nén dữ liệu từ tệp dự phòng, ta sử dụng lệnh unzip nếu đó là file .zip như cách làm ở bước trên:
unzip -o [tên file] -d [tên đường dẫn cần lưu]
Ví dụ mình có file hostvn.zip lưu ở /home/backup/ và cần giải nén ra thư mục /home/webdata/hostvn.com/public_html thì sẽ viết như sau:
Ví dụ mình có 1 database tên là db1 với database username là db1_user và cần backup ra một file tên là hosstvn-data.sql thì viết lệnh như sau:
mysqldump -u db1 -p db1_user > hostvn-data.sql
Trình sẽ hỏi mật khẩu của database user, bạn chỉ cần nhập vào là xong. Còn nếu bạn không muốn gõ mật khẩu sau khi chạy lệnh thì viết -p123456, 123456 là mật khẩu database.
Backup xong thì file .sql sẽ được lưu ở thư mục hiện tại mà bạn đang truy cập, muốn nó tự chuyển ra thư mục khác khi backup xong thì chỉ cần thêm đường dẫn cụ thể ở phần tên file .sql cần lưu.
3.2 Khôi phục Database
Để khôi phục Database ta sử dụng lệnh myslq với cấu trúc như sau:
mysql -u [tên database username] -p [tên database cần được khôi phục] < [tên file .sql cần khôi phục]
Ví dụ:
mysql -u db1_user -p123456 db1 < hostvn-data.sql
Lưu ý là nếu database bạn đang có dữ liệu rồi thì tốt nhất hãy xóa data đó đi và tạo lại một database mới rồi hẵng import vì nó không hỗ trợ ghi đè.
Câu lệnh xóa database trong SQL là:DROP DATABASE tên-data-cần-xóa