Việc backup dữ liệu VPS là yếu tố quan trọng để bảo vệ thông tin và đảm bảo an toàn hệ thống. Trong bài viết này, Vietnix sẽ hướng dẫn bạn các phương pháp backup dữ liệu trên VPS từ cơ bản đến nâng cao. Bạn sẽ biết cách sao lưu thủ công, tự động hóa bằng script Bash và lập lịch backup với cron job. Hãy cùng khám phá thông tin này để bảo vệ VPS của bạn ngay hôm nay!
Những điểm chính
- Hướng dẫn backup dữ liệu file và folder thủ công và bằng script Bash Shell.
- Chi tiết các bước backup dữ liệu database MySQL thủ công và tự động bằng Bash Script.
- Hướng dẫn lập lịch tự động backup toàn bộ server bằng cron job.
- Cụ thể các bước tạo và quản lý backup cho VPS tại Vietnix.
Backup dữ liệu trên file, folder
Cách 1: Backup file thủ công
Trong quá trình quản lý và bảo vệ dữ liệu trên VPS, việc sao lưu dữ liệu (backup) là một bước vô cùng quan trọng để đảm bảo tính toàn vẹn và an toàn cho hệ thống của bạn. Để thực hiện backup các file và folder của mã nguồn trên website, bạn có thể sử dụng lệnh zip, một công cụ nén đơn giản nhưng hiệu quả.
Bước 1: Cài đặt phần mềm zip và unzip
Trước khi tiến hành backup, bạn cần cài đặt phần mềm zip và unzip trên hệ điều hành của VPS. Dưới đây là các lệnh để cài đặt trên các hệ điều hành phổ biến:
Trên Ubuntu:
sudo apt install zip
sudo apt install unzip
Trên CentOS:
sudo dnf install zip
sudo dnf install unzip
Bước 2: Tiến hành thực hiện backup
Để backup toàn bộ dữ liệu trong một folder, bạn có thể sử dụng lệnh zip. Ví dụ, nếu mã nguồn của website nằm tại đường dẫn /home/webdata/vietnix.vn/public_html
và bạn muốn nén toàn bộ folder này thành một file nén tên là vietnix.zip, bạn có thể sử dụng lệnh sau:
zip -r vietnix.zip /home/webdata/vietnix.vn/public_html
Nếu bạn muốn lưu file nén này vào folder /home/backup/, lệnh sẽ như sau:
zip -r /home/backup/vietnix.zip /home/webdata/vietnix.vn/public_html
zip -r vietnix.zip
Với các bước đơn giản như trên, bạn có thể dễ dàng thực hiện backup dữ liệu trên các file và folder của mình, giúp bảo vệ an toàn cho hệ thống trước các rủi ro tiềm tàng.
Cách 2: Backup file bằng script bash shell
Bằng việc sử dụng script bash shell sẽ giúp bạn tự động hóa quá trình backup và quản lý dung lượng lưu trữ một cách hiệu quả hơn. Các lệnh và thao tác thực hiện backup bằng script bash shell cũng không thực sự quá khó, bạn có thể theo dõi hướng dẫn dưới đây của Vietnix để nắm chi tiết cách làm.
Bước 1: Xác định file, folder cần backup
Trong hướng dẫn này, mình sẽ lấy ví dụ là dữ liệu cần backup là toàn bộ các folder nằm trong đường dẫn /home
.
Bước 2: Bạn hãy tạo script backup
Để tự động hóa quá trình backup dữ liệu, bạn cần tạo một script bash shell. Script này sẽ thực hiện việc nén các folder trong /home
thành các file zip và lưu trữ chúng ở một folder cụ thể. Đồng thời, script cũng sẽ tự động xóa các bản backup cũ sau một khoảng thời gian nhất định (ví dụ: sau 7 ngày) để giúp quản lý dung lượng lưu trữ hiệu quả. Trước tiên bạn cần tạo một file script mới tại đường dẫn /usr/src/backup-web.sh
. Sau đó, thêm nội dung sau vào file này:
#!/bin/bash
DATE=`date +"%d-%m-%y"`
mkdir -p $BACKUP
for i in `ls /home`
do
/usr/bin/zip -r -9 $BACKUP/$i.zip /home/$i
sleep 1
done
##Giữ 7 bản backup trên server, tùy vào dung lượng server của bạn mà điều chỉnh số ngày cho phù hợp
find /backup -name 'web*' -type d -mtime +6 -exec rm -rf {} \;
Giải thích đoạn script:
DATE
được sử dụng để tạo một biến lưu trữ ngày hiện tại.- Lệnh
mkdir -p $BACKUP
tạo thư mục lưu trữ các bản backup nếu nó chưa tồn tại. - Vòng lặp
for
sẽ quét qua tất cả các thư mục con trong/home
, sau đó nén từng thư mục thành các file zip và lưu vào thư mục mà bạn đã chỉ định. - Cuối cùng, lệnh
find
được sử dụng để xóa các bản backup cũ hơn 7 ngày.
Bước 3: Phân quyền thực thi cho script
Để script có thể chạy được, bạn cần phân quyền thực thi cho file vừa tạo bằng lệnh sau:
chmod +x /usr/src/backup-web.sh
Bước 4: Thiết lập folder lưu trữ backup
Bạn cần đảm bảo rằng biến $BACKUP
trong script được thiết lập đúng với folder bạn muốn lưu trữ các file backup. Ví dụ, bạn có thể thiết lập $BACKUP trỏ tới folder /home/backup/
để lưu các file backup tại đó.
Bước 5: Chạy script để thực hiện backup
Sau khi hoàn thành các bước trên, bạn chỉ cần chạy script để thực hiện backup. Script sẽ tự động nén các folder trong /home
thành các file zip và lưu chúng vào folder bạn đã chỉ định. Và dĩ nhiên, script cũng tự động xóa các bản backup cũ sau 7 ngày (hoặc số ngày bạn đã cấu hình), giúp quản lý dung lượng lưu trữ hiệu quả.
./usr/src/backup-web.sh
Với tầm quan trọng của việc backup dữ liệu, việc lựa chọn một giải pháp lưu trữ có khả năng sao lưu hiệu quả là điều cần thiết. VPS NVMe của Vietnix tích hợp sẵn tính năng backup tự động hàng tuần, giúp bạn hoàn toàn an tâm vì dữ liệu quan trọng luôn được bảo vệ định kỳ mà không cần can thiệp thủ công. Tính năng này đảm bảo hệ thống của bạn luôn có một bản sao lưu sẵn sàng để khôi phục nhanh chóng trong mọi tình huống, giảm thiểu rủi ro mất mát dữ liệu và đảm bảo hoạt động kinh doanh không bị gián đoạn.

VPS NVME – Ổ CỨNG VÀ CPU THẾ HỆ MỚI
Khả năng xử lý siêu khủng với ổ cứng NVMe và CPU Platinum và backup tự động hằng tuần
Backup dữ liệu database MySQL
Cách 1: Backup dữ liệu database MySQL tự động với Bash Script
Để tự động sao lưu tất cả các cơ sở dữ liệu MySQL trên máy chủ, bạn có thể tạo một script Bash giúp tự động hóa quá trình này. Dưới đây là các bước thực hiện:
Bước 1: Tạo một script Bash để sao lưu tất cả các cơ sở dữ liệu MySQL
Bạn cần tạo một file script với tên backup-mysql.sh
trong thư mục /usr/src/.
Mở terminal và tạo file này bằng cách sử dụng lệnh: sudo nano /usr/src/backup-mysql.sh
. Thêm nội dung sau vào file script:
#!/bin/bash
DATE=`date +"%d-%m-%y"`
BACKUP="/backup/mysql-$DATE"
mkdir -p $BACKUP
for i in `mysql -u root -pabcd@123 -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
do
mysqldump -u root -pabcd@123 $i | gzip -9 > $BACKUP/$i.sql.gz
sleep 1
done
## Giữ 7 bản backup trên server, tùy vào dung lượng server của bạn mà điều chỉnh số ngày cho phù hợp
find /backup -name 'mysql*' -type d -mtime +6 -exec rm -rf {} \;
- Giải thích:
DATE=date +"%d-%m-%y"
: Lấy ngày hiện tại để sử dụng trong tên thư mục backup.BACKUP="/backup/mysql-$DATE"
: Định nghĩa thư mục lưu trữ backup theo ngày.mkdir -p $BACKUP:
Tạo thư mục lưu trữ backup nếu chưa tồn tại.for i in \mysql -u root -pabcd@123 -e "SHOW DATABASES;" | tr -d "| " | grep -v Database
: Lặp qua tất cả các cơ sở dữ liệu trong MySQL, bỏ qua tên cột “Database”.mysqldump -u root -pabcd@123 $i | gzip -9 > $BACKUP/$i.sql.gz:
Sao lưu và nén từng cơ sở dữ liệu thành file .sql.gz.find /backup -name 'mysql*' -type d -mtime +6 -exec rm -rf {} \;
: Xóa các bản backup cũ hơn 7 ngày để tiết kiệm không gian lưu trữ.
Bước 2: Phân quyền thực thi cho script vừa tạo.
Để script có thể chạy được, bạn cần phân quyền thực thi cho file bằng lệnh:
sudo chmod +x /usr/src/backup-mysql.sh
Bước 3: Thiết lập lịch chạy tự động cho script (tùy chọn).
Nếu bạn muốn script này tự động chạy hàng ngày, bạn có thể thiết lập cron job. Mở cron editor bằng lệnh:
sudo crontab -e
Thêm dòng sau vào cron để script chạy hàng ngày lúc 02:00 sáng:
0 2 * * * /usr/src/backup-mysql.sh
Cách 2: Backup dữ liệu database MySQL thủ công
Bước 1: Để thực hiện backup cơ sở dữ liệu MySQL, bạn có thể sử dụng lệnh mysqldump. Lệnh này cho phép bạn sao lưu toàn bộ cấu trúc và dữ liệu của database thành một file .sql, giúp dễ dàng phục hồi khi cần thiết.
Cú pháp lệnh:
mysqldump -u [tên database username] -p [tên database cần backup] > [tên file cần lưu].sql
Bước 2: Khi chạy lệnh này, hệ thống sẽ yêu cầu bạn nhập mật khẩu của user db1_user
. Nếu bạn muốn lệnh chạy mà không cần nhập mật khẩu thủ công, bạn có thể thêm mật khẩu trực tiếp vào lệnh với cú pháp.
Cú pháp lệnh:
-p[mật khẩu]
Bước 3: File .sql sẽ được lưu ở folder hiện tại mà bạn đang truy cập. Nếu bạn muốn lưu file này ở một folder khác, chỉ cần thêm đường dẫn đầy đủ vào phần tên file .sql.
Lập lịch cron job – Backup cho server tự động mỗi ngày
Việc lập lịch tự động backup cho server giúp bạn đảm bảo dữ liệu quan trọng luôn được sao lưu định kỳ mà không cần phải thao tác thủ công. Dưới đây là hướng dẫn chi tiết về cách lập lịch cron job để tự động backup dữ liệu web và cơ sở dữ liệu MySQL trên một VPS/Server Linux.

Bước 1: Trên VPS/Server Linux, bạn chạy lệnh bên dưới để mở cron editor. Lệnh này sẽ đưa bạn vào giao diện chỉnh sửa cron job, nơi bạn có thể thiết lập các tác vụ tự động chạy vào thời gian đã định trước.
crontab -e
Bước 2: Trong cron editor, thêm dòng sau để thiết lập backup dữ liệu web hàng ngày vào lúc 1:00 sáng:
0 1 * * * /path/to/web-backup-script.sh
- Giải thích:
0 1 * * *
: Thiết lập cron chạy vào lúc 1:00 sáng mỗi ngày./path/to/web-backup-script.sh
: Đường dẫn tới script sao lưu dữ liệu web của bạn. Đảm bảo rằng script này đã được tạo và phân quyền thực thi trước đó.
Bước 3: Tiếp tục thêm dòng sau để thiết lập backup cơ sở dữ liệu MySQL hàng ngày vào lúc 3:00 sáng:
0 3 * * * /path/to/mysql-backup-script.sh
- Giải thích:
0 3 * * *
: Thiết lập cron chạy vào lúc 3:00 sáng mỗi ngày./path/to/mysql-backup-script.sh
: Đường dẫn tới script sao lưu cơ sở dữ liệu MySQL của bạn. Script này cần được chuẩn bị trước và đã có quyền thực thi.
Bước 4: Sau khi thêm các dòng lệnh trên, bạn lưu lại (thường là nhấn Ctrl + O
rồi Enter trong nano
) và thoát khỏi cron editor (nhấn Ctrl + X
trong nano
).
Cách backup dữ liệu VPS tại Vietnix
Khi sử dụng các gói VPS Giá Rẻ, VPS SSD, VPS NVMe tại Vietnix, bạn sẽ được backup tự động hằng tuần nên có thể bỏ qua bước này. Tuy nhiên nếu muốn tự backup hằng ngày cho VPS Vietnix hoặc tạo nhiều bản backup vào nhiều thời điểm trong ngày thì bạn có thể tham khảo các cách dưới đây.
1. Tạo một bản backup cho VPS
Bước 1: Bạn chọn vào tính năng Backups trong mục Liên kết nhanh.

Nếu không thấy mục Liên kết nhanh, bạn có thể chọn Backups từ phần Additional Tools.

Bước 2: Bạn nhấp vào tùy chọn New Backup để bắt đầu quá trình tạo bản sao lưu mới.

Bước 3: Bạn chọn chế độ sao lưu là Snapshot, cho phép bạn sao lưu VPS ngay cả khi nó vẫn đang chạy. Sau đó, bạn nhấp vào nút Confirm để xác nhận. Quá trình sao lưu sẽ hoàn tất sau ít phút, tùy thuộc vào dung lượng của VPS.

2. Lập lịch tự động chạy backup cho VPS hằng ngày
Bước 1: Bạn chọn Backup Jobs trong mục Liên kết nhanh hoặc chọn Backup Jobs tại Additional Tools và sau đó chọn New Job.

Bước 2: Bạn tiến hành cấu hình lịch backup theo các thông số sau:
- Start Time: Bạn chọn thời gian bắt đầu backup. Ví dụ: 16:00.
- Day of Week: Chọn tất cả 7 ngày trong tuần hoặc tùy chỉnh theo nhu cầu của bạn.
- Backup Mode: Chọn Snapshot với chế độ này có thể cho phép backup khi VPS vẫn đang chạy.
Bước 3: Bạn chọn Confirm để lưu lịch backup.

Sau khi chọn Confirm như trên, màn hình của bạn sẽ hiển thị lịch backup đã được hệ thống xác nhận với các thông tin như thời gian bắt đầu backup, tần suất và chế độ backup.

Sau khi lịch backup được lưu, hệ thống sẽ tự động thực hiện backup cho VPS theo lịch đã thiết lập như hình bên dưới.

3. Lập lịch tự động chạy backup cho VPS nhiều thời điểm mỗi ngày
Nếu bạn đã có lịch backup vào lúc 16:00 mỗi ngày và muốn tạo thêm lịch backup vào lúc 04:00, bạn cần thực hiện các bước sau:
Bước 1: Bạn nhấn vào nút New Job để tạo thêm một lịch backup thứ hai.

Bước 2: Bạn chọn thời điểm backup mới là 04:00.

Bước 3: Bạn nhấn vào nút Confirm để xác nhận và kiểm tra lại lịch backup vừa thiết lập. Sau khi hoàn tất, hệ thống sẽ tự động thực hiện backup cho VPS vào cả hai thời điểm 16:00 và 04:00 mỗi ngày.

Giải pháp VPS an toàn, bảo mật từ Vietnix
Vietnix là nhà cung cấp dịch vụ VPS hàng đầu tại Việt Nam, mang đến giải pháp máy chủ ảo toàn diện và tối ưu cho mọi nhu cầu. Với hạ tầng mạnh mẽ, tốc độ cao, và tính ổn định vượt trội, VPS Vietnix đảm bảo website và ứng dụng của bạn luôn hoạt động mượt mà, hiệu quả. Đặc biệt, với hệ thống backup tự động và khả năng phục hồi dữ liệu nhanh chóng, Vietnix giúp bạn an tâm tuyệt đối về an toàn thông tin. Đội ngũ hỗ trợ kỹ thuật chuyên nghiệp, tận tâm luôn sẵn sàng 24/7 để giải đáp mọi thắc mắc và hỗ trợ bạn trong suốt quá trình sử dụng.
Thông tin liên hệ:
- Hotline: 18001093.
- Email: sales@vietnix.com.vn.
- Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/.
Câu hỏi thường gặp
Tại sao việc backup dữ liệu trên VPS lại quan trọng?
Việc backup dữ liệu trên VPS là vô cùng quan trọng để bảo vệ thông tin khỏi các sự cố bất ngờ như lỗi phần cứng, tấn công mạng, xóa nhầm dữ liệu, hoặc các thảm họa tự nhiên. Các bản backup giúp bạn khôi phục lại hệ thống và dữ liệu về trạng thái ban đầu, đảm bảo tính liên tục trong hoạt động kinh doanh và giảm thiểu thiệt hại.
Tôi nên backup dữ liệu VPS của mình bao lâu một lần?
Tần suất backup phụ thuộc vào mức độ thay đổi của dữ liệu và mức độ chấp nhận rủi ro mất dữ liệu của bạn. Đối với các website hoặc ứng dụng có dữ liệu thay đổi thường xuyên (ví dụ: website thương mại điện tử, diễn đàn), việc backup hàng ngày hoặc thậm chí nhiều lần trong ngày là cần thiết. Đối với dữ liệu ít thay đổi, backup hàng tuần hoặc hàng tháng có thể đủ.
Làm thế nào để chọn phương pháp backup phù hợp cho VPS của tôi?
Việc lựa chọn phương pháp backup phù hợp phụ thuộc vào nhiều yếu tố như loại dữ liệu (file, folder, database), kích thước dữ liệu, yêu cầu về tốc độ khôi phục, và khả năng kỹ thuật của bạn. Backup thủ công phù hợp cho dữ liệu nhỏ và không thay đổi thường xuyên. Backup tự động bằng script Bash và cron job là lựa chọn lý tưởng cho việc tự động hóa và quản lý hiệu quả hơn. Đối với các dịch vụ VPS chuyên nghiệp như của Vietnix, bạn cũng có thể tận dụng các tính năng backup tích hợp sẵn để đơn giản hóa quá trình này.
Bằng việc áp dụng các phương pháp mà Vietnix đã chia sẻ, từ backup thủ công đến tự động bằng Bash Script và thiết lập cron job, bạn có thể dễ dàng tạo ra những bản sao lưu toàn diện Hãy bắt đầu ngay với những hướng dẫn đơn giản trên, nếu có bất cứ khó khăn hay vướng mắc gì, đừng ngần ngại để lại bình luận bên dưới để team có thể đồng hành, hỗ trợ gỡ rối giúp bạn. Chúc bạn thành công.