Liệt kê tất cả ảnh chụp nhanh
Truy xuất danh sách tất cả các ảnh chụp nhanh trên các máy chủ của bạn.
Tham số truy vấn
Tham số
Kiểu
Yêu cầu
Mô tả
server_id
integer
Không
Lọc ảnh chụp nhanh theo ID máy chủ
Ví dụ về yêu cầu
curl -X GET "https://admin.vps.org/api/v1/snapshots/?server_id=12345" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
& Sao chép
import requests
url = "https://admin.vps.org/api/v1/snapshots/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
params = {"server_id": 12345}
response = requests.get(url, headers=headers, params=params)
print(response.json())
& Sao chép
const response = await fetch('https://admin.vps.org/api/v1/snapshots/?server_id=12345', {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
}
});
const snapshots = await response.json();
console.log(snapshots);
& Sao chép
Ví dụ về câu trả lời
{
"count": 2,
"results": [
{
"id": 801,
"server": {
"id": 12345,
"name": "web-server-01"
},
"name": "pre-migration-snapshot",
"status": "completed",
"size_mb": 5120,
"created_at": "2025-01-15T18:30:00Z",
"description": "Before major migration"
},
{
"id": 798,
"server": {
"id": 12345,
"name": "web-server-01"
},
"name": "weekly-snapshot-2025-01-08",
"status": "completed",
"size_mb": 4856,
"created_at": "2025-01-08T12:00:00Z",
"description": "Weekly snapshot"
}
]
}
Mã trạng thái phản hồi
200
Đã truy xuất thành công danh sách ảnh chụp nhanh
401
Không được phép - Mã xác thực không hợp lệ hoặc bị thiếu.
Tạo ảnh chụp nhanh
Tạo một bức ảnh chụp tình trạng hiện tại của máy phục vụ. Bức ảnh chụp là bản sao của toàn bộ máy phục vụ.
Các tham số thân yêu cầu
Tham số
Kiểu
Yêu cầu
Mô tả
server_id
integer
Đúng
ID của máy chủ cần chụp ảnh
name
string
Đúng
Tên cho ảnh chụp (chữ và số, dấu gạch ngang, dấu gạch dưới)
description
string
Không
Mô tả tùy chọn cho ảnh chụp nhanh
Ví dụ về yêu cầu
curl -X POST "https://admin.vps.org/api/v1/snapshots/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"server_id": 12345,
"name": "before-update-snapshot",
"description": "Snapshot before system update"
}'
& Sao chép
import requests
url = "https://admin.vps.org/api/v1/snapshots/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
data = {
"server_id": 12345,
"name": "before-update-snapshot",
"description": "Snapshot before system update"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
& Sao chép
const response = await fetch('https://admin.vps.org/api/v1/snapshots/', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
server_id: 12345,
name: 'before-update-snapshot',
description: 'Snapshot before system update'
})
});
const snapshot = await response.json();
console.log(snapshot);
& Sao chép
Ví dụ về câu trả lời
{
"id": 802,
"server": {
"id": 12345,
"name": "web-server-01"
},
"name": "before-update-snapshot",
"status": "in_progress",
"size_mb": null,
"created_at": "2025-01-16T16:15:00Z",
"description": "Snapshot before system update",
"message": "Snapshot is being created. This may take 3-10 minutes depending on server size."
}
Mã trạng thái phản hồi
201
Quá trình tạo ảnh chụp nhanh đã bắt đầu thành công.
400
Bad Request - Invalid parameters or snapshot limit reached
401
Không được phép - Mã xác thực không hợp lệ hoặc bị thiếu.
404
Not Found - Server does not exist
Ghi chú: You can have a maximum of 5 snapshots per server. Creating a snapshot while the server is running may result in filesystem inconsistencies. For best results, stop the server before creating a snapshot.
Khôi phục từ ảnh chụp nhanh
Phục hồi máy phục vụ đến trạng thái được chụp trong một bức ảnh chớp. Việc này sẽ ghi đè tất cả dữ liệu hiện tại trên máy phục vụ.
Tham số đường dẫn
Tham số
Kiểu
Yêu cầu
Mô tả
snapshot_id
integer
Đúng
ID ảnh chụp duy nhất
Ví dụ về yêu cầu
curl -X POST "https://admin.vps.org/api/v1/snapshots/801/restore/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
& Sao chép
import requests
snapshot_id = 801
url = f"https://admin.vps.org/api/v1/snapshots/{snapshot_id}/restore/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
response = requests.post(url, headers=headers)
print(response.json())
& Sao chép
const snapshotId = 801;
const response = await fetch(`https://admin.vps.org/api/v1/snapshots/${snapshotId}/restore/`, {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
}
});
const result = await response.json();
console.log(result);
& Sao chép
Ví dụ về câu trả lời
{
"status": "success",
"message": "Server is being restored from snapshot. This may take 5-15 minutes.",
"snapshot": {
"id": 801,
"name": "pre-migration-snapshot",
"created_at": "2025-01-15T18:30:00Z"
},
"server": {
"id": 12345,
"name": "web-server-01",
"status": "restoring"
}
}
Mã trạng thái phản hồi
200
Quá trình khôi phục đã bắt đầu thành công.
400
Bad Request - Server is not in a valid state for restoration
401
Không được phép - Mã xác thực không hợp lệ hoặc bị thiếu.
404
Không tìm thấy - Ảnh chụp màn hình không tồn tại
Cảnh báo: Restoring from a snapshot will overwrite all current data on the server. This action cannot be undone. The server will be automatically stopped before restoration begins.
Xóa ảnh chụp nhanh
Xóa vĩnh viễn ảnh chụp màn hình. Thao tác này không thể hoàn tác.
Tham số đường dẫn
Tham số
Kiểu
Yêu cầu
Mô tả
snapshot_id
integer
Đúng
ID ảnh chụp duy nhất
Ví dụ về yêu cầu
curl -X DELETE "https://admin.vps.org/api/v1/snapshots/801/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
& Sao chép
import requests
snapshot_id = 801
url = f"https://admin.vps.org/api/v1/snapshots/{snapshot_id}/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
response = requests.delete(url, headers=headers)
print(response.status_code)
& Sao chép
Mã trạng thái phản hồi
204
Ảnh chụp màn hình đã được xóa thành công
401
Không được phép - Mã xác thực không hợp lệ hoặc bị thiếu.
404
Không tìm thấy - Ảnh chụp màn hình không tồn tại
Snapshots vs Backups
Hiểu khi nào nên dùng ảnh chụp và sao lưu:
API ảnh chụp nhanh
Mục đích: Quick point-in-time recovery
Tốc độ: Faster to create and restore (3-15 min)
Trường hợp sử dụng: Before risky operations (updates, config changes)
Kho: Stored on same infrastructure
Giới hạn: 5 snapshots per server
Phù hợp nhất cho: Short-term rollback capability
API sao lưu
Mục đích: Long-term data protection
Tốc độ: Slower to create and restore (varies)
Trường hợp sử dụng: Regular automated data protection
Kho: Separate backup storage
Giới hạn: 10 manual + automatic backups
Phù hợp nhất cho: Disaster recovery and compliance
Thực hành tốt nhất
Trước khi cập nhật: Tạo một bức ảnh chụp trước khi cập nhật hệ thống chính
Kiểm tra: Dùng ảnh chụp khi thử các thay đổi cấu hình
Chiến lược kết hợp: Dùng cả bức ảnh chụp (ngắn hạn) và sao lưu (dài hạn)
Dọn dẹp: Xoá ảnh chụp cũ sau khi cập nhật thành công
Tình trạng máy phục vụ: Cần xem xét dừng máy phục vụ trước khi tạo ảnh chụp nguy hiểm