แสดงภาพสแนปช็อตทั้งหมด
เรียกดูรายการสแนปช็อตทั้งหมดจากเซิร์ฟเวอร์ของคุณ
พารามิเตอร์การค้นหา
พารามิเตอร์
พิมพ์
ที่จำเป็น
คำอธิบาย
server_id
integer
ไม่มี
กรองภาพสแนปช็อตตามรหัสเซิร์ฟเวอร์
ตัวอย่างคำขอ
curl -X GET "https://admin.vps.org/api/v1/snapshots/?server_id=12345" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
คัดลอก
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())
คัดลอก
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);
คัดลอก
ตัวอย่างคำตอบ
{
"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"
}
]
}
รหัสสถานะการตอบกลับ
200
ดึงรายการสแนปช็อตสำเร็จแล้ว
401
ไม่ได้รับอนุญาต - โทเค็นการตรวจสอบสิทธิ์ไม่ถูกต้องหรือไม่มีอยู่
สร้างภาพสแนปช็อต
สร้างภาพถ่ายภาพชั่วคราวของสถานะปัจจุบันของเซิร์ฟเวอร์ ภาพถ่ายภาพชั่วคราวเป็นสำเนาของเซิร์ฟเวอร์ทั้งหมดในเวลานั้น
พารามิเตอร์เนื้อหาคำขอ
พารามิเตอร์
พิมพ์
ที่จำเป็น
คำอธิบาย
server_id
integer
ใช่
รหัสประจำตัวของเซิร์ฟเวอร์ที่จะสร้างสแนปช็อต
name
string
ใช่
ตั้งชื่อไฟล์ภาพ (ตัวอักษร ตัวเลข เครื่องหมายขีดกลาง และเครื่องหมายขีดล่าง)
description
string
ไม่มี
คำอธิบายเพิ่มเติมสำหรับภาพสแนปช็อต (ไม่บังคับ)
ตัวอย่างคำขอ
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"
}'
คัดลอก
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())
คัดลอก
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);
คัดลอก
ตัวอย่างคำตอบ
{
"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."
}
รหัสสถานะการตอบกลับ
201
การสร้างสแนปช็อตเริ่มต้นสำเร็จแล้ว
400
Bad Request - Invalid parameters or snapshot limit reached
401
ไม่ได้รับอนุญาต - โทเค็นการตรวจสอบสิทธิ์ไม่ถูกต้องหรือไม่มีอยู่
404
Not Found - Server does not exist
ข้อความ: 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.
กู้คืนจากสแนปช็อต
เรียกเซิร์ฟเวอร์กลับมาเป็นสภาพที่ได้จากภาพถอดรหัส นี่จะเขียนทับข้อมูลทั้งหมดที่อยู่บนเซิร์ฟเวอร์
พารามิเตอร์เส้นทาง
พารามิเตอร์
พิมพ์
ที่จำเป็น
คำอธิบาย
snapshot_id
integer
ใช่
รหัสภาพสแนปช็อตที่ไม่ซ้ำกัน
ตัวอย่างคำขอ
curl -X POST "https://admin.vps.org/api/v1/snapshots/801/restore/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
คัดลอก
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())
คัดลอก
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);
คัดลอก
ตัวอย่างคำตอบ
{
"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"
}
}
รหัสสถานะการตอบกลับ
200
การกู้คืนเริ่มต้นสำเร็จแล้ว
400
Bad Request - Server is not in a valid state for restoration
401
ไม่ได้รับอนุญาต - โทเค็นการตรวจสอบสิทธิ์ไม่ถูกต้องหรือไม่มีอยู่
404
ไม่พบ - ไม่มีภาพสแนปช็อตอยู่
คำเตือน: 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.
ลบสแนปช็อต
ลบสแนปช็อตอย่างถาวร การกระทำนี้ไม่สามารถย้อนกลับได้
พารามิเตอร์เส้นทาง
พารามิเตอร์
พิมพ์
ที่จำเป็น
คำอธิบาย
snapshot_id
integer
ใช่
รหัสภาพสแนปช็อตที่ไม่ซ้ำกัน
ตัวอย่างคำขอ
curl -X DELETE "https://admin.vps.org/api/v1/snapshots/801/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
คัดลอก
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)
คัดลอก
รหัสสถานะการตอบกลับ
204
ลบสแนปช็อตสำเร็จแล้ว
401
ไม่ได้รับอนุญาต - โทเค็นการตรวจสอบสิทธิ์ไม่ถูกต้องหรือไม่มีอยู่
404
ไม่พบ - ไม่มีภาพสแนปช็อตอยู่
Snapshots vs Backups
เข้าใจว่าเมื่อใดควรใช้ภาพถ่ายหรือการสำรองข้อมูล:
API สแนปช็อต
วัตถุประสงค์: Quick point-in-time recovery
ความเร็ว: Faster to create and restore (3-15 min)
กรณีศึกษา: Before risky operations (updates, config changes)
พื้นที่จัดเก็บ: Stored on same infrastructure
ขอบเขต: 5 snapshots per server
เหมาะสำหรับ: Short-term rollback capability
API การสำรองข้อมูล
วัตถุประสงค์: Long-term data protection
ความเร็ว: Slower to create and restore (varies)
กรณีศึกษา: Regular automated data protection
พื้นที่จัดเก็บ: Separate backup storage
ขอบเขต: 10 manual + automatic backups
เหมาะสำหรับ: Disaster recovery and compliance
วิธีการที่ดีที่สุด
ก่อนที่จะปรับปรุง: สร้างภาพถอดรหัสก่อนที่จะปรับปรุงระบบหลัก
กำลังทดสอบ: ใช้ภาพถอดแบบเมื่อทดสอบการเปลี่ยนแปลงการปรับแต่ง
กลยุทธ์รวม: ใช้ทั้งภาพถ่ายฉากหลัง (ระยะสั้น) และการสำรองข้อมูล (ระยะยาว)
ทำความสะอาด: ลบภาพถ่ายภาพถ่ายก่อนหน้านี้ หลังจากปรับปรุงสำเร็จแล้ว
สถานะของเซิร์ฟเวอร์: ลองพิจารณาหยุดเซิร์ฟเวอร์ก่อนที่จะสร้างภาพถ่ายฉากสำคัญ