Listați toate instantaneele
Obțineți o listă cu toate instantaneele de pe serverele dvs.
Parametrii de interogare
Parametru
Tip
Necesar
Descriere
server_id
integer
Nu
Filtrarea instantaneelor după ID-ul serverului
Exemplu de solicitare
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
Exemplu de răspuns
{
"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"
}
]
}
Coduri de stare a răspunsului
200
Lista de instantanee recuperată cu succes
401
Neautorizat - Token de autentificare invalid sau lipsă
Creați o captură de ecran
Create a snapshot of a server's current state. Snapshots are point-in-time copies of the entire server.
Parametrii corpului cererii
Parametru
Tip
Necesar
Descriere
server_id
integer
Da
ID-ul serverului pentru instantaneu
name
string
Da
Nume pentru instantaneu (alfabetic, cratime, sublinieri)
description
string
Nu
Descriere opțională pentru instantaneu
Exemplu de solicitare
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
Exemplu de răspuns
{
"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."
}
Coduri de stare a răspunsului
201
Crearea instantaneului a fost inițiată cu succes
400
Bad Request - Invalid parameters or snapshot limit reached
401
Neautorizat - Token de autentificare invalid sau lipsă
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.
Restaurare din instantaneu
Restore a server to the state captured in a snapshot. This will overwrite all current data on the server.
Parametrii căii
Parametru
Tip
Necesar
Descriere
snapshot_id
integer
Da
ID unic al instantaneului
Exemplu de solicitare
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
Exemplu de răspuns
{
"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"
}
}
Coduri de stare a răspunsului
200
Restaurarea a fost inițiată cu succes
400
Bad Request - Server is not in a valid state for restoration
401
Neautorizat - Token de autentificare invalid sau lipsă
404
Negăsit - Instantaneul nu există
Avertizare: 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.
Ștergeți instantaneul
Ștergeți definitiv o instantanee. Această acțiune nu poate fi anulată.
Parametrii căii
Parametru
Tip
Necesar
Descriere
snapshot_id
integer
Da
ID unic al instantaneului
Exemplu de solicitare
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
Coduri de stare a răspunsului
204
Instantaneul a fost șters cu succes
401
Neautorizat - Token de autentificare invalid sau lipsă
404
Negăsit - Instantaneul nu există
Snapshots vs Backups
Understanding when to use snapshots versus backups:
API-ul Snapshot-urilor
Scop: Quick point-in-time recovery
Viteză: Faster to create and restore (3-15 min)
Caz de utilizare: Before risky operations (updates, config changes)
Depozitare: Stored on same infrastructure
Limită: 5 snapshots per server
Cel mai potrivit pentru: Short-term rollback capability
API-ul pentru copii de rezervă
Scop: Long-term data protection
Viteză: Slower to create and restore (varies)
Caz de utilizare: Regular automated data protection
Depozitare: Separate backup storage
Limită: 10 manual + automatic backups
Cel mai potrivit pentru: 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