Senaraikan Semua Gambaran Ringkas
Dapatkan senarai semua snapshot merentasi pelayan anda.
Parameter Pertanyaan
Parameter
Jenis
Diperlukan
Huraian
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"
Salin
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())
Salin
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);
Salin
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
Cipta snapshot keadaan semasa pelayan. Snapshot adalah salinan titik-dalam-masa keseluruhan pelayan.
Minta Parameter Badan
Parameter
Jenis
Diperlukan
Huraian
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"
}'
Salin
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())
Salin
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);
Salin
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
Pulihkan pelayan ke keadaan yang ditangkap dalam snapshot. Ini akan tulis ganti semua data semasa pada pelayan.
Parameter Laluan
Parameter
Jenis
Diperlukan
Huraian
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"
Salin
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())
Salin
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);
Salin
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
Huraian
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"
Salin
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)
Salin
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
Mengerti bila menggunakan snapshot berbanding sandaran:
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
Praktek Terbaik
Sebelum Kemas Kini: Cipta snapshot sebelum kemaskini sistem utama
Ujian: Guna snapshot bila menguji perubahan konfigurasi
Strategi gabungan: Gunakan kedua-dua snapshot (jangka pendek) dan sandaran (jangka panjang)
Bersihkan: Padam snapshot lama selepas kemaskini berjaya
Keadaan Pelayan: Cuba hentikan pelayan sebelum mencipta snapshot kritikal