Senaraikan Semua Gambaran Ringkas
Dapatkan senarai semua snapshot merentasi pelayan anda.
Parameter Pertanyaan
Parameter
Jenis
Diperlukan
Penerangan
server_id
integer
Tidak
Tapis snapshot mengikut ID pelayan
Contoh Permintaan
curl -X GET "https://admin.vps.org/api/v1/snapshots/?server_id=12345" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Copy
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())
Copy
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);
Copy
Contoh Respons
{
"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"
}
]
}
Kod Status Respons
200
Berjaya mendapatkan senarai snapshot
401
Tidak Dibenarkan - Token pengesahan tidak sah atau tiada
Cipta Gambaran Keseluruhan
Create a snapshot of a server's current state. Snapshots are point-in-time copies of the entire server.
Minta Parameter Badan
Parameter
Jenis
Diperlukan
Penerangan
server_id
integer
Ya
ID pelayan untuk snapshot
name
string
Ya
Nama untuk petikan (alfanumerik, tanda sempang, garis bawah)
description
string
Tidak
Huraian pilihan untuk snapshot
Contoh Permintaan
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"
}'
Copy
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())
Copy
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);
Copy
Contoh Respons
{
"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."
}
Kod Status Respons
201
Penciptaan snapshot berjaya dimulakan
400
Bad Request - Invalid parameters or snapshot limit reached
401
Tidak Dibenarkan - Token pengesahan tidak sah atau tiada
404
Not Found - Server does not exist
Nota: 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.
Pulihkan daripada Gambaran Ringkas
Restore a server to the state captured in a snapshot. This will overwrite all current data on the server.
Parameter Laluan
Parameter
Jenis
Diperlukan
Penerangan
snapshot_id
integer
Ya
ID petikan unik
Contoh Permintaan
curl -X POST "https://admin.vps.org/api/v1/snapshots/801/restore/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Copy
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())
Copy
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);
Copy
Contoh Respons
{
"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"
}
}
Kod Status Respons
200
Pemulihan dimulakan dengan jayanya
400
Bad Request - Server is not in a valid state for restoration
401
Tidak Dibenarkan - Token pengesahan tidak sah atau tiada
404
Tidak Dijumpai - Gambaran ringkas tidak wujud
Amaran: 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.
Padam Gambaran Keseluruhan
Padamkan snapshot secara kekal. Tindakan ini tidak boleh dibuat asal.
Parameter Laluan
Parameter
Jenis
Diperlukan
Penerangan
snapshot_id
integer
Ya
ID petikan unik
Contoh Permintaan
curl -X DELETE "https://admin.vps.org/api/v1/snapshots/801/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Copy
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)
Copy
Kod Status Respons
204
Gambaran ringkas berjaya dipadamkan
401
Tidak Dibenarkan - Token pengesahan tidak sah atau tiada
404
Tidak Dijumpai - Gambaran ringkas tidak wujud
Snapshots vs Backups
Understanding when to use snapshots versus backups:
API Gambaran Ringkas
Tujuan: Quick point-in-time recovery
Kelajuan: Faster to create and restore (3-15 min)
Kes Penggunaan: Before risky operations (updates, config changes)
Penyimpanan: Stored on same infrastructure
Had: 5 snapshots per server
Terbaik Untuk: Short-term rollback capability
API Sandaran
Tujuan: Long-term data protection
Kelajuan: Slower to create and restore (varies)
Kes Penggunaan: Regular automated data protection
Penyimpanan: Separate backup storage
Had: 10 manual + automatic backups
Terbaik Untuk: Disaster recovery and compliance
Best Practices
Before Updates: Create a snapshot before major system updates
Testing: Use snapshots when testing configuration changes
Combined Strategy: Use both snapshots (short-term) and backups (long-term)
Clean Up: Delete old snapshots after successful updates
Server State: Consider stopping the server before creating critical snapshots