সমস্ত স্ন্যাপশট তালিকাভুক্ত করুন
আপনার সার্ভার জুড়ে সমস্ত স্ন্যাপশটের একটি তালিকা পুনরুদ্ধার করুন।
কোয়েরি প্যারামিটার
পরামিতি
আদর্শ
প্রয়োজনীয়
বর্ণনা
server_id
integer
না
সার্ভার আইডি অনুসারে স্ন্যাপশট ফিল্টার করুন
উদাহরণ অনুরোধ
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
হাঁ
অনন্য স্ন্যাপশট আইডি
উদাহরণ অনুরোধ
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
হাঁ
অনন্য স্ন্যাপশট আইডি
উদাহরণ অনুরোধ
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
সেরা প্রক্রিয়া
হালনাগাদ করার পূর্বে: প্রধান সিস্টেম আপডেটের পূর্বে স্ন্যাপশট তৈরি করুন
পরীক্ষা: কনফিগারেশন পরিবর্তন পরীক্ষা করার সময় স্ন্যাপশট ব্যবহার করো
একত্রিত কৌশল: স্ন্যাপশট (অল্পকালীন) এবং ব্যাকআপ (দীর্ঘকালীন) উভয় ব্যবহার করুন
পরিষ্কার করো: সফল হালনাগাদ করার পর পুরনো স্ন্যাপশট মুছে ফেলা হবে
সার্ভারের অবস্থা: গুরুত্বপূর্ণ স্ন্যাপশট তৈরি করার পূর্বে সার্ভার বন্ধ করার চিন্তা করুন