Zobraziť všetky snímky
Získajte zoznam všetkých snímok na vašich serveroch.
Parametre dopytu
Parameter
Typ
Povinné
Description
server_id
integer
No
Filtrovať snímky podľa ID servera
Príklad žiadosti
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
Príklad odpovede
{
"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"
}
]
}
Kódy stavu odpovede
200
Zoznam snímok bol úspešne načítaný
401
Neoprávnené – neplatný alebo chýbajúci autentifikačný token
Vytvoriť snímku
Create a snapshot of a server's current state. Snapshots are point-in-time copies of the entire server.
Parametre tela požiadavky
Parameter
Typ
Povinné
Description
server_id
integer
Áno
ID servera na vytvorenie snímky
name
string
Áno
Názov snímky (abenchmark, pomlčky, podčiarkovníky)
description
string
No
Voliteľný popis snímky
Príklad žiadosti
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
Príklad odpovede
{
"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."
}
Kódy stavu odpovede
201
Vytvorenie snímky sa úspešne začalo
400
Bad Request - Invalid parameters or snapshot limit reached
401
Neoprávnené – neplatný alebo chýbajúci autentifikačný token
404
Not Found - Server does not exist
Note: 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.
Obnoviť zo snímky
Restore a server to the state captured in a snapshot. This will overwrite all current data on the server.
Parametre cesty
Parameter
Typ
Povinné
Description
snapshot_id
integer
Áno
Jedinečné ID snímky
Príklad žiadosti
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
Príklad odpovede
{
"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"
}
}
Kódy stavu odpovede
200
Obnova sa úspešne spustila
400
Bad Request - Server is not in a valid state for restoration
401
Neoprávnené – neplatný alebo chýbajúci autentifikačný token
404
Nenájdené – Snímka neexistuje
POZOR: 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.
Odstrániť snímku
Natrvalo odstrániť snímku. Túto akciu nie je možné vrátiť späť.
Parametre cesty
Parameter
Typ
Povinné
Description
snapshot_id
integer
Áno
Jedinečné ID snímky
Príklad žiadosti
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
Kódy stavu odpovede
204
Snímka bola úspešne odstránená
401
Neoprávnené – neplatný alebo chýbajúci autentifikačný token
404
Nenájdené – Snímka neexistuje
Snapshots vs Backups
Understanding when to use snapshots versus backups:
Rozhranie API pre snímky
Účel: Quick point-in-time recovery
Rýchlosť: Faster to create and restore (3-15 min)
Prípad použitia: Before risky operations (updates, config changes)
Skladovanie: Stored on same infrastructure
Limit: 5 snapshots per server
Najlepšie pre: Short-term rollback capability
Zálohovacie API
Účel: Long-term data protection
Rýchlosť: Slower to create and restore (varies)
Prípad použitia: Regular automated data protection
Skladovanie: Separate backup storage
Limit: 10 manual + automatic backups
Najlepšie pre: 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