Alle momentopnamen weergeven
Vraag een lijst op van alle snapshots op uw servers.
Queryparameters
Parameter
Type
Vereist
Omschrijving
server_id
integer
Nee
Filter snapshots op server-ID
Voorbeeldverzoek
curl -X GET "https://admin.vps.org/api/v1/snapshots/?server_id=12345" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Kopiëren
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())
Kopiëren
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);
Kopiëren
Voorbeeldantwoord
{
"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"
}
]
}
Responsstatuscodes
200
Momentopnamenlijst succesvol opgehaald
401
Niet geautoriseerd - Ongeldig of ontbrekend authenticatietoken
Maak een momentopname
Maak een snapshot van de huidige toestand van een server. Snapshots zijn point-in-time kopieën van de hele server.
Parameters van de aanvraagbody
Parameter
Type
Vereist
Omschrijving
server_id
integer
Ja
ID van de server waarvan een momentopname moet worden gemaakt
name
string
Ja
Naam voor de momentopname (alfanumeriek, koppeltekens, underscores)
description
string
Nee
Optionele beschrijving voor de momentopname
Voorbeeldverzoek
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"
}'
Kopiëren
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())
Kopiëren
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);
Kopiëren
Voorbeeldantwoord
{
"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."
}
Responsstatuscodes
201
Het aanmaken van de momentopname is succesvol gestart.
400
Bad Request - Invalid parameters or snapshot limit reached
401
Niet geautoriseerd - Ongeldig of ontbrekend authenticatietoken
404
Not Found - Server does not exist
Opmerking: 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.
Herstellen vanuit momentopname
Een server terugzetten naar de status die in een snapshot is vastgelegd. Dit zal alle huidige gegevens op de server overschrijven.
Padparameters
Parameter
Type
Vereist
Omschrijving
snapshot_id
integer
Ja
Unieke momentopname-ID
Voorbeeldverzoek
curl -X POST "https://admin.vps.org/api/v1/snapshots/801/restore/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Kopiëren
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())
Kopiëren
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);
Kopiëren
Voorbeeldantwoord
{
"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"
}
}
Responsstatuscodes
200
Herstel succesvol gestart
400
Bad Request - Server is not in a valid state for restoration
401
Niet geautoriseerd - Ongeldig of ontbrekend authenticatietoken
404
Niet gevonden - Momentopname bestaat niet
Waarschuwing: 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.
Momentopname verwijderen
Een momentopname permanent verwijderen. Deze actie kan niet ongedaan worden gemaakt.
Padparameters
Parameter
Type
Vereist
Omschrijving
snapshot_id
integer
Ja
Unieke momentopname-ID
Voorbeeldverzoek
curl -X DELETE "https://admin.vps.org/api/v1/snapshots/801/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json"
Kopiëren
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)
Kopiëren
Responsstatuscodes
204
Momentopname succesvol verwijderd
401
Niet geautoriseerd - Ongeldig of ontbrekend authenticatietoken
404
Niet gevonden - Momentopname bestaat niet
Snapshots vs Backups
Begrijpen wanneer snapshots gebruikt moeten worden versus back-ups:
Snapshots API
Doel: Quick point-in-time recovery
Snelheid: Faster to create and restore (3-15 min)
Gebruiksscenario: Before risky operations (updates, config changes)
Opslag: Stored on same infrastructure
Maximumhoeveelheid: 5 snapshots per server
Het meest geschikt voor: Short-term rollback capability
Backups API
Doel: Long-term data protection
Snelheid: Slower to create and restore (varies)
Gebruiksscenario: Regular automated data protection
Opslag: Separate backup storage
Maximumhoeveelheid: 10 manual + automatic backups
Het meest geschikt voor: Disaster recovery and compliance
Beste praktijken
Voor updates: Maak een snapshot voordat het grote systeem wordt bijgewerkt
Testen: Snapshots gebruiken bij het testen van configuratiewijzigingen
Gecombineerde strategie: Gebruik zowel snapshots (korte termijn) als back-ups (langdurig)
Opruimen: Oude snapshots verwijderen na succesvolle updates
Serverstatus: Overweeg de server te stoppen voordat u kritische snapshots aanmaakt