Zobrazit všechny snímky
Načíst seznam všech snapshotů na vašich serverech.
Parametry dotazu
Parametr
Typ
Požadovaný
Popis
server_id
integer
Žádný
Filtrovat snímky podle ID serveru
Příklad žádosti
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
Příklad odpovědi
{
"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 odpovědi
200
Seznam snímků byl úspěšně načten
401
Neoprávněné – Neplatný nebo chybějící ověřovací token
Vytvořit snímek
Create a snapshot of a server's current state. Snapshots are point-in-time copies of the entire server.
Parametry těla požadavku
Parametr
Typ
Požadovaný
Popis
server_id
integer
Ano
ID serveru pro snímání
name
string
Ano
Název snímku (alfanumerický, pomlčky, podtržítka)
description
string
Žádný
Volitelný popis snímku
Příklad žádosti
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
Příklad odpovědi
{
"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 odpovědi
201
Vytváření snímku bylo úspěšně zahájeno
400
Bad Request - Invalid parameters or snapshot limit reached
401
Neoprávněné – Neplatný nebo chybějící ověřovací token
404
Not Found - Server does not exist
Poznámka: 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.
Obnovit ze snímku
Restore a server to the state captured in a snapshot. This will overwrite all current data on the server.
Parametry cesty
Parametr
Typ
Požadovaný
Popis
snapshot_id
integer
Ano
Jedinečné ID snímku
Příklad žádosti
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
Příklad odpovědi
{
"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 odpovědi
200
Obnovení bylo úspěšně zahájeno
400
Bad Request - Server is not in a valid state for restoration
401
Neoprávněné – Neplatný nebo chybějící ověřovací token
404
Nenalezen - Snímek neexistuje
Varování: 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.
Smazat snímek
Trvale smazat snímek. Tuto akci nelze vrátit zpět.
Parametry cesty
Parametr
Typ
Požadovaný
Popis
snapshot_id
integer
Ano
Jedinečné ID snímku
Příklad žádosti
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 odpovědi
204
Snímek byl úspěšně smazán
401
Neoprávněné – Neplatný nebo chybějící ověřovací token
404
Nenalezen - Snímek neexistuje
Snapshots vs Backups
Understanding when to use snapshots versus backups:
API pro snímky
Účel: Quick point-in-time recovery
Rychlost: Faster to create and restore (3-15 min)
Případ použití: Before risky operations (updates, config changes)
Skladování: Stored on same infrastructure
Omezit: 5 snapshots per server
Nejlepší pro: Short-term rollback capability
API pro zálohy
Účel: Long-term data protection
Rychlost: Slower to create and restore (varies)
Případ použití: Regular automated data protection
Skladování: Separate backup storage
Omezit: 10 manual + automatic backups
Nejlepší pro: 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