ყველა სნეპშოტის სია
მიიღეთ თქვენს სერვერებზე არსებული ყველა სნეპშოტის სია.
მოთხოვნის პარამეტრები
პარამეტრები
ტიპი
სავალდებულო
აღწერა
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
დიახ
სერვერის ID სნეპშოტის გადასაღებად
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-დან
სერვერის გადაღებულ სურათში აღდგენა. ეს გადაწერს ყველა მიმდინარე მონაცემს სერვერზე.
გზის პარამეტრები
პარამეტრები
ტიპი
სავალდებულო
აღწერა
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
საუკეთესო პრაქტიკა
განახლებამდე: სისტემის მნიშვნელოვანი განახლების წინ სურათის შექმნა
ტესტირება: კონფიგურაციის ცვლილებების ტესტირებისას სურათების გამოყენება
კომბინირებული სტრატეგია: გამოყენება როგორც სურათების (მცირევადიანი), ასევე სარეზერვო ასლების (გრძელვადიანი)
გასუფთავება: წარმატებული განახლების შემდეგ ძველი სურათების წაშლა
სერვერის მდგომარეობა: სერვერის შეჩერება კრიტიკული სურათების შექმნამდე