Листај ги сите снимки
Преземете список на сите снимки на вашите сервери.
Параметри на барањето
Параметр
Тип
Задолжително
Опис
server_id
integer
Не.
Филтрирај снимки според ID на серверот
Пример за барање
curl -X GET "https://admin.vps.org/api/v1/snapshots/?server_id=12345" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Копирај
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())
Копирај
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);
Копирај
Пример за одговор
{
"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"
}
]
}
Кодови за статус на одговор
200
Успешно преземена листа на снимки
401
Неовластено - Неважечки или недостасува токен за автентикација
Креирај слика
Создава снимка од тековната состојба на серверот. Снимките се точни копии на целиот сервер.
Параметри на телото на барањето
Параметр
Тип
Задолжително
Опис
server_id
integer
Да
ИД на серверот за снимање на сликата
name
string
Да
Име за снимката (алфанумерички, цртички, долни црти)
description
string
Не.
Опционален опис за снимката
Пример за барање
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"
}'
Копирај
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())
Копирај
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);
Копирај
Пример за одговор
{
"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."
}
Кодови за статус на одговор
201
Креирањето на снимка започна успешно
400
Bad Request - Invalid parameters or snapshot limit reached
401
Неовластено - Неважечки или недостасува токен за автентикација
404
Not Found - Server does not exist
Забелешка: 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.
Врати од Слика
Вратете го серверот во состојбата снимана во снимката. Ова ќе ги пребрише сите тековни податоци на серверот.
Параметри на патеката
Параметр
Тип
Задолжително
Опис
snapshot_id
integer
Да
Уникатен ID на снимка
Пример за барање
curl -X POST "https://admin.vps.org/api/v1/snapshots/801/restore/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Копирај
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())
Копирај
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);
Копирај
Пример за одговор
{
"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"
}
}
Кодови за статус на одговор
200
Враќањето започна успешно
400
Bad Request - Server is not in a valid state for restoration
401
Неовластено - Неважечки или недостасува токен за автентикација
404
Не е пронајдено - Снимката не постои
Предупредување: 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.
Избриши слика од екранот
Трајно избриши снимка. Ова дејство не може да се врати.
Параметри на патеката
Параметр
Тип
Задолжително
Опис
snapshot_id
integer
Да
Уникатен ID на снимка
Пример за барање
curl -X DELETE "https://admin.vps.org/api/v1/snapshots/801/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Копирај
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)
Копирај
Кодови за статус на одговор
204
Снимката е успешно избришана
401
Неовластено - Неважечки или недостасува токен за автентикација
404
Не е пронајдено - Снимката не постои
Snapshots vs Backups
Разбирање кога да се користат снимки против резервни копии:
API за слики
Намена: Quick point-in-time recovery
Брзина: Faster to create and restore (3-15 min)
Случај на употреба: Before risky operations (updates, config changes)
Складирање: Stored on same infrastructure
Ограничување: 5 snapshots per server
Најдобро за: Short-term rollback capability
API за резервни копии
Намена: Long-term data protection
Брзина: Slower to create and restore (varies)
Случај на употреба: Regular automated data protection
Складирање: Separate backup storage
Ограничување: 10 manual + automatic backups
Најдобро за: Disaster recovery and compliance
Најдобри практики
Пред ажурирања: Креирај снимка пред големите ажурирања на системот
Тестирање: Користи снимки при тестирање на промени во конфигурацијата
Комбинирана стратегија: Користи ги двете снимки (краткорочни) и резервни копии (долгорочно)
Исчисти: Избриши ги старите снимки по успешни ажурирања
Состојба на серверот: Размисли за запирање на серверот пред создавање критични снимки