Zobrazit všechny snímky
Načíst seznam všech snapshotů na vašich serverech.
Parametry dotazu
Parametr
Typ
Požadovaný
Popis zboží
server_id
integer
Ne.
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"
Kopírovat
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())
Kopírovat
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);
Kopírovat
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
Vytvořit snímek aktuálního stavu serveru. Snímky jsou point-in-time kopie celého serveru.
Parametry těla požadavku
Parametr
Typ
Požadovaný
Popis zboží
server_id
integer
Ano
ID serveru pro snímání
name
string
Ano
Název snímku (alfanumerický, pomlčky, podtržítka)
description
string
Ne.
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"
}'
Kopírovat
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())
Kopírovat
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);
Kopírovat
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
Obnovit server do stavu zachyceného v snímku. To přepíše všechna aktuální data na serveru.
Parametry cesty
Parametr
Typ
Požadovaný
Popis zboží
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"
Kopírovat
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())
Kopírovat
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);
Kopírovat
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 zboží
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"
Kopírovat
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)
Kopírovat
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
Pochopení, kdy použít snímky proti zálohám:
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
Limit: 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
Limit: 10 manual + automatic backups
Nejlepší pro: Disaster recovery and compliance
Nejlepší praxe
Před aktualizacemi: Vytvořit snímek před velkými aktualizacemi systému
Testování: Použít snímky při testování změn konfigurace
Kombinovaná strategie: Použijte oba snímky (krátkodobé) i zálohy (dlouhodobé)
Vyčistit: Smazat staré snímky po úspěšných aktualizacích
Stav serveru: Zvažte zastavení serveru před vytvořením kritických snímků