Hướng dẫn backup hệ thống website trên centos

Như các nhà cung cấp hosting khác, với Control Panel mà chúng tôi đang áp dụng : cPanel cho Web Cloud Linux Hosting và Parallels Plesk cho Web Cloud Windows Hosting. Mặc định đều hỗ trợ chức năng sao lưu dữ liệu.

Với hướng dẫn sau đây, chúng tôi hy vọng rằng các bạn có thể chủ động hơn trong việc sao chép, lưu trữ dữ liệu an toàn trên hệ thống của bạn.

1. Plesk Panel 11 / 12

  • Login vào Plesk Panel quản trị hosting>
  • Click Backup Manager trong phần Websites & Domains>
  • Chọn Tools : Backup>
  • Trong menu Backup setting của “Back Up Data Related to the Subscription”>
  • Nhập tên file backup vào ô Add prefix to backup name>
  • Trong phần Backup content> Chọn cấu hình Domain configuration and content để backup toàn bộ source code>
  • Click Backup>
  • Click tab Current Backup Tasks để xem quá trình backup nào đang được thực thi>
  • Bạn hãy đợi trong giây lát, tùy theo dung lượng hosting của bạn mà thời gian hệ thống thực thi nhanh hay chậm >
  • Click tab Server Repository> để chọn file backup vừa thực hiện.
  • Sau khi backup xong bạn có thể download file vừa tạo backup về máy của mình ngay tại trang Backup Manager ( tab Server Repository ) với dạng *_ 1306111654.xml. ( bạn click vào hình mũi tên trắng-xanh ngay tai cuối dòng thông tin file backup ).

2. Plesk Panel 9

  • Login vào Plesk Panel 9 quản trị hosting>
  • Click Client trong phần Client>
  • Click client name (vd: testdatabase) nằm trong danh sách Client name>
  • Click Backup Manager trong phần Files>
  • Click Back Up>
  • Trong menu Backup setting của “Back Up Client Account testdatabase”>
  • Nhập tên file backup vào ô Add prefix to backup name>
  • Trong phần Backup content> Chọn cấu hình Client’s configuration and content để backup toàn bộ source code>
  • Click Backup>
  • Click tab Current Backup Tasks để xem quá trình backup nào đang được thực thi>
  • Tùy theo dung lượng hosting bạn mà thời gian hệ thống thực thi nhanh hay chậm >
  • Click tab Server Repository> để chọn file backup vừa thực hiện.
  • File backup hoàn tất với dạng *_ testdatabase_com_1011012302.xml. ( bạn click vào hình đĩa mềm để download file này ).

3. WHM cPanel

  • Login vào cPanel X quản trị hosting>
  • Click Backups trong phần Files>
  • Click Download or Generate a Full Website Backup tại option Full Backup>
  • Click Generate Backup để hệ thống backup toàn bộ hosting>
  • Hệ thống xuất hiện thông báo Full Backup in Progress…
  • Click Go Back và tương tự như trên thời gian thực hiện phụ thuộc vào khối lượng dữ liệu hosting của bạn>
  • File backup hoàn tất với dạng backup-*.tar.gz. ( bạn click vào tên file để download )

Chúc các bạn thành công, vui lòng liên lạc hỗ trợ 1900 .1830 hoặc comment tại đây để có sự hướng dẫn chính xác nhất từ đội ngũ của chúng tôi.

Bài viết này mình sẽ hướng dẫn các bạn tạo Script backup dữ liệu trên máy chủ linux với 1 host hoặc toàn bộ host trên server.

I. Giới thiệu :

Trong quá trình sử dụng không tránh khỏi việc thao tác xóa nhầm hoặc phát sinh lỗi từ nhiều nguyên nhân khác khiến bạn bị mất dữ liệu và không lấy lại được vì vậy bạn cần có phương án dự phòng tốt nhất cho trường hợp xấu có thể xảy ra với website của mình. Vậy để bạn có thể chủ động backup được dữ liệu của mình một cách nhanh chóng và thiết lập để máy chủ tự động chạy Backup theo lịch mà bạn muốn thì có thể tham khảo hướng dẫn sau để tạo Script Backup.

II. Các bước thực hiện :

Bước 1: SSH vào Server Linux của bạn :

Để tạo Script Backup dữ liệu trên Linux chúng ta cần SSH hoặc truy cập VPS hoặc máy chủ của bạn với quyền root. Nếu bạn chưa biết cách SSH vào VPS hoặc Server của bạn thì bạn có thể tham khảo bài viết hướng dẫn sau:

. SSH tới Server LINUX bằng Putty

Bước 2: Tạo script backup dữ liệu :

1. Backup với 1 host :

  • Đầu tiên bạn truy cập vào thư mục bin trong root :

cd /bin

  • Tạo mới một file và phân quyền thực thi :

touch scriptbk.sh && chmod +x scriptbk.sh

  • Mở file và bắt đầu viết :

vi /bin/scriptbk.sh

  • Thêm nội dung bên dưới vào file script backup đã tạo :

#!/bin/bash ngay=$(date +"%Y-%m-%d")

gán biến cho ngày backup.

touch scriptbk.sh && chmod +x scriptbk.sh

0

touch scriptbk.sh && chmod +x scriptbk.sh

1

Tao thu muc chua file Backup.

touch scriptbk.sh && chmod +x scriptbk.sh

2

touch scriptbk.sh && chmod +x scriptbk.sh

3## Backup Database

touch scriptbk.sh && chmod +x scriptbk.sh

4

touch scriptbk.sh && chmod +x scriptbk.sh

5

touch scriptbk.sh && chmod +x scriptbk.sh

6

touch scriptbk.sh && chmod +x scriptbk.sh

7

touch scriptbk.sh && chmod +x scriptbk.sh

8

—————————————

Chú thích các phần bôi đậm bên trên:

  • #!/ bin/bash ## giúp UNIX xác định code sẽ được chạy bằng chương trình nào, ở đây ta sẽ dùng bash
  • Tên website cần Backup: ktpa.com
  • User Database: ktpa_db
  • Pass: NjczYWUw
  • Tên Database: ktpa_db
  • Đường dẫn lưu Backup: /home/backup/
  • Đường dẫn website cần Backup: /home/ktpa/domains/ktpa.com/
  • Đường dẫn lưu file backup Source + Database: /home/backup
  • Tên File Backup Source: source.zip
  • Ten File Backup Database: db.sql.gz

Sau khi tạo file trên bạn có thể gõ lệnh bên dưới xem script backup có hoạt động hay không nhé. Nếu chạy được như hình thì đã cấu hình thành công.

touch scriptbk.sh && chmod +x scriptbk.sh

9

Sau khi chạy script backup thành công Quý khách có thể di chuyển vào thư mục /home/backup… để kiểm tra các file backup. Sau đây là các backup đã chạy được :

2. Backup với tất cả các host và database.

Để chạy lệnh backup database, dump toàn bộ database hoặc một database cụ thể cũng được, và bạn cần thực hiện như sau.

Chỉnh sửa file my.cnf

Bạn sẽ phải thực hiện mở file my.cnf lên, file này thường sẽ nằm trong đường dẫn /etc/my.cnf và thêm vào các dòng sau :

[mysqldump]  
user=root  
password=passwd root mysql

Sau khi gán thành công thông tin mysql root, thì bạn dump database hệ thống sẽ bỏ qua không hỏi nhập pass root mysql nữa.

Tương tự như thực hiện backup cho host bạn có thể tạo file script backup và phân quyền thực thi cho file :

touch backupall.sh && chmod +x backupall.sh

  • Mở file và bắt đầu viết :

vi /bin/backupall.sh

  • Thêm nội dung bên dưới vào file script backup đã tạo :

#!/bin/bash

vi /bin/scriptbk.sh

1

vi /bin/scriptbk.sh

2

vi /bin/scriptbk.sh

3

vi /bin/scriptbk.sh

4

Tao thu muc chua file Backup.

vi /bin/scriptbk.sh

5## Backup Database

vi /bin/scriptbk.sh

6

vi /bin/scriptbk.sh

7## Backup Source

vi /bin/scriptbk.sh

8

vi /bin/scriptbk.sh

9

[mysqldump]  
user=root  
password=passwd root mysql

0

————————————

Sau khi tạo file trên bạn có thể gõ lệnh bên dưới xem script backup có hoạt động hay không nhé. Nếu chạy được như hình thì đã cấu hình thành công.

[mysqldump]  
user=root  
password=passwd root mysql

1

Sau khi chạy script backup thành công Quý khách có thể di chuyển vào thư mục /home/backup/backupall… để kiểm tra các file backup.

III. Tạo Cron để thiết lập thời gian chạy script :

Ví dụ ở đây mình sẽ thiết lập thời gian chạy Backup là 1 ngày 1 lần , thì cách thiết lập Cron sẽ có cấu trúc như sau:

Để tạo Cronjob bạn gỏ lệnh sau và nhấp chữ i hoặc Insert để chỉnh sửa :

crontab -e

Gõ nội dung sau vào cron :

0 2 * * * /bin/scriptbk.sh >> /home/backup/logbackup.txt  
0 2 * * * /bin/backupall.sh >> /home/backup/logall.txt  
0 2 * * * find /home/backup -type d -mtime +3 -exec rm -rf {} +

Giải thích lệnh trên:

Thiết lập Cron Backup chạy vào 02:00 giờ sáng hàng ngày, và log sẽ được ghi lại tại đường dẫn /home/backup/logbackup.txt

Do script này sẽ lưu trữ File Backup trực tiếp trên VPS nên về lâu dài sẽ chiếm dung lượng VPS. Nên chúng ta sẽ cần thiết lập Cron để xóa các File backup cũ định kỳ , ví dụ ở đây mình sẽ tạo Cron xóa các File Backup cũ và chỉ giữ lại 3 bản backup gần nhất. Thời gian cron chạy vào lúc 02:00 sáng hàng ngày.

Khởi động lại dịch vụ Crond :

[mysqldump]  
user=root  
password=passwd root mysql

2

Sau khi thêm Cron, bạn sử chạy lệnh bên dưới để kiểm tra Cron đã thêm thành công chưa :

cat /var/spool/cron/root

IV: Tổng kết :

Như vậy, thực hiện thành công các bước trên là bạn đã có thể tạo được script backup và Cron Backup tự động cho website của mình trên máy chủ Linux. Việc tạo Cron cho script backup định kỳ sẽ giúp các bạn đảm bảo được dữ liệu của mình trong một số trường hợp xấu có thể xảy ra. Hy vọng bài viết này hữu ích với các bạn, chúc các bạn thực hiện thành công.

Trong quá trình thực hiện nếu có vấn đề lỗi phát sinh, vui lòng gửi yêu cầu về [email protected] để được hỗ trợ kiểm tra và xử lý.