Daptarkeun Sadaya Potret
Candak daptar sadaya snapshot di sakumna server anjeun.
Parameter Pamundut
Parameter
Tipe
Diperlukeun
Gambaran
server_id
integer
Ora
Saring snapshot dumasar ID server
Conto Pamundut
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
Conto Réspon
{
"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"
}
]
}
Kodeu Status Tanggapan
200
Daptar snapshot hasil dicandak
401
Teu Sah - Token auténtikasi teu valid atanapi leungit
Jieun Cuplikan
Nyiptakeun snapshot tina kaayaan ayeuna tina pelayan. Snapshot nyaéta salinan titik-di-waktu tina sakumna pelayan.
Pamundut Parameter Awak
Parameter
Tipe
Diperlukeun
Gambaran
server_id
integer
Muhun
ID server pikeun snapshot
name
string
Muhun
Ngaran pikeun snapshot (alfanumerik, tanda hubung, garis handap)
description
string
Ora
Pedaran opsional pikeun snapshot
Conto Pamundut
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
Conto Réspon
{
"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."
}
Kodeu Status Tanggapan
201
Nyieun snapshot dimimitian kalawan suksés
400
Bad Request - Invalid parameters or snapshot limit reached
401
Teu Sah - Token auténtikasi teu valid atanapi leungit
404
Not Found - Server does not exist
Catatan: 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.
Mulangkeun tina Snapshot
Pupus pelayan ka kaayaan anu ditempo dina snapshot. Ieu bakal ngaganti sadaya data ayeuna dina pelayan.
Parameter Jalur
Parameter
Tipe
Diperlukeun
Gambaran
snapshot_id
integer
Muhun
ID snapshot unik
Conto Pamundut
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
Conto Réspon
{
"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"
}
}
Kodeu Status Tanggapan
200
Pamulihan dimimitian kalayan suksés
400
Bad Request - Server is not in a valid state for restoration
401
Teu Sah - Token auténtikasi teu valid atanapi leungit
404
Teu Kapanggih - Snapshot teu aya
Peringatan: 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.
Hapus Cuplikan
Hapus snapshot sacara permanén. Peta ieu teu tiasa dibolaykeun.
Parameter Jalur
Parameter
Tipe
Diperlukeun
Gambaran
snapshot_id
integer
Muhun
ID snapshot unik
Conto Pamundut
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
Kodeu Status Tanggapan
204
Cuplikan hasil dihapus
401
Teu Sah - Token auténtikasi teu valid atanapi leungit
404
Teu Kapanggih - Snapshot teu aya
Snapshots vs Backups
Ngerti kapan kanggo nggunakake snapshots vs salinan cadangan:
API Cuplikan
Tujuan: Quick point-in-time recovery
Kagancangan: Faster to create and restore (3-15 min)
Kasus Pamakéan: Before risky operations (updates, config changes)
Panyimpenan: Stored on same infrastructure
Batas: 5 snapshots per server
Pangsaéna Pikeun: Short-term rollback capability
API Cadangan
Tujuan: Long-term data protection
Kagancangan: Slower to create and restore (varies)
Kasus Pamakéan: Regular automated data protection
Panyimpenan: Separate backup storage
Batas: 10 manual + automatic backups
Pangsaéna Pikeun: Disaster recovery and compliance
Praktik Paling Apik
Sadurunge nganyari: Cipta gambaran sebelum pembaruan sistem utama
Pengujian: Gunakan gambar saat menguji perubahan konfigurasi
Strategi gabungan: Nggunakaké gambar cahya (kanggo wektu cendhak) lan salinan cadangan (kanggo wektu dawa)
Bersihkan: Hapus gambar semu lawas sawise ngoptimalake kanthi sukses
Keadaan Pelayan: Nganggep ngilangi pelayan sadurunge nyipta gambar cahya kritis