Hướng dẫn

Quản lý VPS bằng API: tự động bật, tắt, sao lưu

Quản lý VPS bằng API: tự động bật, tắt, sao lưu
Chia sẻ

Một công ty phần mềm ở Đà Nẵng thuê 12 VPS cho môi trường thử nghiệm. Các máy này chỉ cần chạy trong giờ làm việc, nhưng chẳng ai nhớ tắt vào buổi tối, và sáng thứ Hai luôn có người phải đăng nhập bật lại từng máy. Đến khi một bạn quản trị viết đoạn script 30 dòng gọi API, việc bật tắt tự chạy theo lịch, danh sách máy được kiểm mỗi sáng, và không ai phải nhớ nữa.

Mục lục1. Quản lý VPS bằng API là gì và khi nào nên dùng2. Những thao tác API của Cloudzone đang hỗ trợ3. Viết script bật tắt VPS theo lịch3.1 Bước 1: Lấy danh sách máy cần điều khiển3.2 Bước 2: Gửi lệnh tắt hoặc bật3.3 Bước 3: Kiểm tra lại trạng thái3.4 Bước 4: Đặt lịch chạy4. Snapshot và sao lưu: kết hợp thế nào cho an toàn5. Vài lưu ý khi tự động hoá6. Câu hỏi thường gặp6.1 Tắt VPS bằng API có làm mất dữ liệu không?6.2 Tôi không phải đại lý thì có dùng API được không?6.3 Nên chạy script trên máy nào?

1. Quản lý VPS bằng API là gì và khi nào nên dùng

API (giao diện lập trình ứng dụng) là cửa để phần mềm của bạn ra lệnh cho hệ thống của nhà cung cấp, thay cho việc bạn bấm nút trên giao diện web. Quản lý VPS bằng API nghĩa là mọi thao tác quen thuộc như xem danh sách máy, bật, tắt, khởi động lại đều được gửi đi bằng một yêu cầu HTTP, và bạn đặt chúng vào script hoặc lịch chạy tự động.

Bạn nên cân nhắc cách này khi gặp một trong các tình huống sau:

  • Số máy đủ nhiều để thao tác tay bắt đầu tốn thời gian và dễ sót.
  • Có máy chỉ cần chạy theo khung giờ, ví dụ môi trường thử nghiệm hay máy chạy báo cáo cuối ngày.
  • Bạn là đại lý hoặc có hệ thống riêng, muốn khách cuối thao tác VPS ngay trên phần mềm của bạn.
  • Đội vận hành muốn một bảng tổng hợp trạng thái máy mỗi sáng mà không cần ai mở portal.

Với vài máy chạy liên tục, giao diện web vẫn đủ dùng. API phát huy khi việc lặp lại đều đặn và số máy tăng dần.

2. Những thao tác API của Cloudzone đang hỗ trợ

Cloudzone cung cấp API cho đại lý và khách hàng có hệ thống riêng. Quyền dùng API được đăng ký ngay trong Portal, chi tiết có trong bài API Cloudzone: tự đăng ký quyền ngay trong Portal.

Với Cloud VPS, nhóm điểm cuối quản lý dịch vụ đang có gồm:

Phương thức Đường dẫn Chức năng
GET /vps-vn/get-list-vps Danh sách VPS Việt Nam
GET /vps-vn/get-detail-vps Chi tiết một VPS
POST /vps-vn/action-vps Bật, tắt, khởi động lại, cài lại VPS
GET /vps-nn/get-list-vps · /vps-nn/get-detail-vps Danh sách, chi tiết VPS nước ngoài
POST /vps-nn/action-vps Thao tác VPS nước ngoài

Ngoài VPS, API còn có nhóm điểm cuối cho Proxy, Hosting và gói lưu trữ Cloudzone Box.

Tên tham số và cách xác thực của từng lệnh, bạn lấy đúng theo tài liệu API được cấp khi đăng ký quyền. Đừng đoán tên trường, vì chỉ cần sai một chữ là yêu cầu bị từ chối.

3. Viết script bật tắt VPS theo lịch

Quay lại tình huống 12 máy thử nghiệm ở đầu bài. Một script bật tắt theo lịch thường gồm bốn bước.

3.1 Bước 1: Lấy danh sách máy cần điều khiển

Gọi GET /vps-vn/get-list-vps để lấy toàn bộ VPS trong tài khoản. Sau đó lọc ra đúng các máy thuộc nhóm thử nghiệm, ví dụ theo tên máy bắt đầu bằng test-. Đừng để script thao tác trên mọi máy, vì chỉ một lần lọc sai là máy chủ đang phục vụ khách cũng bị tắt.

3.2 Bước 2: Gửi lệnh tắt hoặc bật

Với mỗi máy trong danh sách, gửi POST /vps-vn/action-vps kèm mã máy và loại thao tác. Khung vòng lặp tắt máy trong script bash có thể như sau (địa chỉ API, khoá API và tên tham số lấy theo tài liệu được cấp):

    
        for id in $(lay_danh_sach_vps_test); do
          gui_lenh_vps "$id" "tat"
          echo "$(date '+%F %T') da gui lenh tat VPS $id" >> /var/log/vps-lich.log
          sleep 2
        done
    

Hai hàm lay_danh_sach_vps_test và gui_lenh_vps là nơi bạn đặt lời gọi curl đúng theo tài liệu. Tách riêng như vậy để khi đổi tham số, bạn chỉ sửa một chỗ.

3.3 Bước 3: Kiểm tra lại trạng thái

Sau khi gửi lệnh, gọi GET /vps-vn/get-detail-vps cho từng máy để chắc máy đã thật sự tắt hay bật. Lệnh gửi đi thành công chưa chắc máy đã đổi trạng thái, đặc biệt với thao tác khởi động lại.

3.4 Bước 4: Đặt lịch chạy

Trên một máy Linux luôn bật, dùng cron để chạy script tắt lúc 19:00 và script bật lúc 7:30 các ngày trong tuần:

    
        0 19 * * 1-5 /opt/vps-lich/tat.sh
        30 7 * * 1-5 /opt/vps-lich/bat.sh
    

Nếu chưa quen cron hay các lệnh cơ bản, bài Các câu lệnh Linux cần biết để quản trị VPS là điểm khởi đầu phù hợp.

4. Snapshot và sao lưu: kết hợp thế nào cho an toàn

Snapshot là bản chụp trạng thái ổ đĩa của máy tại một thời điểm. Nó hữu ích ngay trước một thao tác rủi ro như cài lại phần mềm, nâng cấp hệ điều hành hay đổi cấu hình lớn. Nếu có sự cố, bạn quay về bản chụp thay vì dựng lại từ đầu.

Trên nền tảng sPortal, thao tác tạo snapshot, rebuild hệ điều hành và quản lý bản sao lưu được thực hiện qua giao diện web. Nhóm điểm cuối VPS trong bảng ở trên hiện tập trung vào bật, tắt, khởi động lại và cài lại máy. Vì vậy cách làm hợp lý là: script lo việc lặp lại hằng ngày, còn snapshot trước thao tác rủi ro thì bạn chủ động tạo trên portal.

Snapshot cũng không thay được sao lưu định kỳ, vì nó thường nằm cùng hệ thống với máy gốc. Với dữ liệu quan trọng, Backup as a Service của Cloudzone sao lưu theo lịch ít nhất 1 lần/ngày, giữ ít nhất 14 bản gần nhất, và lưu trên hệ thống lưu trữ riêng tách biệt. Bạn đặt được giờ sao lưu khác nhau trong ngày, tránh trùng với khung giờ script bật tắt máy.

5. Vài lưu ý khi tự động hoá

  • Giữ khoá API như mật khẩu: lưu trong biến môi trường hoặc tệp chỉ người quản trị đọc được, không dán vào mã nguồn hay gửi qua tin nhắn.
  • Ghi nhật ký mọi lệnh: máy nào, lệnh gì, lúc nào, kết quả ra sao. Khi có người hỏi vì sao máy tắt, bạn có câu trả lời ngay.
  • Chạy thử trên một máy trước: kiểm tra kỹ bộ lọc danh sách rồi mới cho script chạy trên cả nhóm.
  • Đừng tự động lệnh cài lại máy: thao tác này xoá dữ liệu trên ổ đĩa, nên để người thật xác nhận.

Cloud VPS của Cloudzone chạy trên chip Intel Xeon Platinum, lưu trữ Enterprise SSD/NVMe, uptime 99,99%, giá từ 100.000đ/tháng (chưa gồm VAT), đặt tại 6 cụm Data Center ở TP.HCM đạt chuẩn TIA-942 Rated 3.

6. Câu hỏi thường gặp

6.1 Tắt VPS bằng API có làm mất dữ liệu không?

Không. Lệnh tắt chỉ dừng hệ điều hành, dữ liệu trên ổ đĩa vẫn giữ nguyên và máy chạy lại bình thường khi bật. Thao tác cần cẩn trọng là cài lại máy, vì nó xoá dữ liệu trên ổ đĩa.

6.2 Tôi không phải đại lý thì có dùng API được không?

Khách hàng có hệ thống riêng cũng đăng ký quyền API ngay trong Portal. Bài hướng dẫn đăng ký được liên kết ở mục thứ hai.

6.3 Nên chạy script trên máy nào?

Chọn một máy luôn bật và không nằm trong nhóm bị tắt theo lịch, ví dụ một VPS nhỏ chuyên chạy công cụ quản trị. Nếu script nằm trên chính máy bị tắt, nó sẽ không bao giờ bật lại được.

💬 Chat với Cloudzone

Chia sẻ

Bài viết liên quan

Hướng dẫn xuất hóa đơn điện tử khi sử dụng dịch vụ Cloudzone

Hướng dẫn xuất hóa đơn điện tử khi sử dụng dịch vụ Cloudzone

Khách hàng cá nhân, doanh nghiệp, hộ kinh doanh khi sử dụng dịch vụ cần khai thông tin một lần trong Cloudzone Portal để được xuất hóa đơn đúng với nhu cầu, hệ thống hỗ trợ tra cứu và tải hóa đơn điện tử bất cứ lúc nào.

Lộ trình tự học quản trị VPS Linux: từ lúc nhận máy đến lúc ngủ ngon

Lộ trình tự học quản trị VPS Linux: từ lúc nhận máy đến lúc ngủ ngon

Vấn đề của người mới nhận VPS Linux không phải là thiếu hướng dẫn, mà là không biết đọc cái nào trước. Đây là con đường sáu bước: mỗi bước nói vì sao cần làm, bỏ qua thì vấp gì, rồi dẫn thẳng sang bài chi tiết.

Cấu hình bảo mật UltraViewer: 6 bước cần làm | Cloudzone

Cấu hình bảo mật UltraViewer: 6 bước cần làm | Cloudzone

Hướng dẫn cấu hình bảo mật UltraViewer: tắt mật khẩu ngẫu nhiên, đặt mật khẩu riêng, bật whitelist. Checklist đầy đủ cho máy công ty và máy cá nhân.

Cài đặt và cấu hình Linux server (Ubuntu/AlmaLinux) cơ bản

Cài đặt và cấu hình Linux server (Ubuntu/AlmaLinux) cơ bản

Hướng dẫn cấu hình ban đầu cho Linux server Ubuntu/AlmaLinux: cập nhật, đặt hostname, múi giờ, swap và chuẩn hóa cấu hình cho người mới

Các câu lệnh Linux cần biết để quản trị VPS

Các câu lệnh Linux cần biết để quản trị VPS

Tổng hợp nhóm lệnh Linux thiết yếu cho quản trị VPS: file, quyền, gói phần mềm, mạng và tiến trình, kèm mẹo kết hợp lệnh cho người mới

Cài LEMP/LAMP stack để chạy website trên Linux

Cài LEMP/LAMP stack để chạy website trên Linux

Hướng dẫn cài LEMP (Nginx) hoặc LAMP (Apache) với PHP và MySQL/MariaDB để chạy website trên VPS Linux, kèm lưu ý tối ưu và bảo mật