Backups da VPS (listar, criar, restaurar e apagar) e volumes de disco adicionais da conta Cloud.
Antes de começar, veja API do Virtualizor para revendedores: primeiros passos: lá estão a chave de API, o formato da chamada e as funções virt_api usadas nos exemplos em PHP, Python e Node.js.
Neste artigo
- Listar os backups de uma VPS —
act=backup2 - Fazer um backup agora —
act=backup2 - Restaurar um backup —
act=backup - Apagar um backup —
act=backup - Listar os volumes —
act=volume - Criar um volume —
act=volume - Ligar, desligar ou aumentar um volume —
act=volume - Apagar um volume —
act=volume
Listar os backups de uma VPS
Ação:act=backup2 · Método: GET
Lista os backups de uma VPS e mostra quantos backups e restaurações ainda cabem no período.
Parâmetros
| Parâmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
svs | URL | número | sim | Id da VPS. |
Exemplos
curl
curl -sS "https://$VIRT_HOST:4083/index.php?act=backup2&svs=101&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS"PHP
$r = virt_api('backup2', [
'svs' => '101',
]);
print_r($r);Python
r = virt_api("backup2", get={
"svs": "101",
})
print(r)Node.js
const r = await virtApi('backup2', {
svs: '101',
});
console.log(r);Resposta
backups_list traz os backups da VPS; backup_limit e restore_limit os limites do período, backup_used e restore_used quanto já foi usado, e service_period o início e o fim do período.
Cuidados
- O exemplo em curl da documentação oficial manda
cbackup=0no corpo. Para só listar, a ação e osvsbastam.
Documentação oficial: List backup.
Fazer um backup agora
Ação:act=backup2 · Método: POST
Inicia um backup da VPS fora do agendamento.
Parâmetros
| Parâmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
svs | URL | número | sim | Id da VPS. |
cbackup | corpo (POST) | 1 | sim | Inicia o backup. |
Exemplos
curl
curl -sS "https://$VIRT_HOST:4083/index.php?act=backup2&svs=101&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS" \
--data-urlencode 'cbackup=1'PHP
$r = virt_api('backup2', [
'svs' => '101',
], [
'cbackup' => '1',
]);
print_r($r);Python
r = virt_api("backup2", get={
"svs": "101",
}, post={
"cbackup": "1",
})
print(r)Node.js
const r = await virtApi('backup2', {
svs: '101',
}, {
cbackup: '1',
});
console.log(r);Resposta
done confirma que o backup começou. backups_list traz os backups da VPS; backup_limit e restore_limit os limites do período, backup_used e restore_used quanto já foi usado, e service_period o início e o fim do período.
Cuidados
- Confira
backup_limitebackup_usedantes de automatizar backups pela API.
Documentação oficial: Create backup.
Restaurar um backup
Ação:act=backup · Método: POST
Restaura a VPS a partir de um backup. O processo roda em segundo plano e leva alguns minutos.
Parâmetros
| Parâmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
svs | URL | número | sim | Id da VPS. |
restore | corpo (POST) | 1 | sim | Restaura um backup comum. |
bkid | corpo (POST) | número | sim | Id do backup. |
backuply_restore | corpo (POST) | 1 | não | Use no lugar de restore quando o backup for do Backuply. |
Exemplos
curl
curl -sS "https://$VIRT_HOST:4083/index.php?act=backup&svs=101&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS" \
--data-urlencode 'restore=1' \
--data-urlencode 'bkid=3'PHP
$r = virt_api('backup', [
'svs' => '101',
], [
'restore' => '1',
'bkid' => '3',
]);
print_r($r);Python
r = virt_api("backup", get={
"svs": "101",
}, post={
"restore": "1",
"bkid": "3",
})
print(r)Node.js
const r = await virtApi('backup', {
svs: '101',
}, {
restore: '1',
bkid: '3',
});
console.log(r);Resposta
done.msg confirma que a restauração começou. backups_list traz os backups da VPS; backup_limit e restore_limit os limites do período, backup_used e restore_used quanto já foi usado, e service_period o início e o fim do período.
Cuidados
- A restauração substitui o disco atual da VPS pelo do backup: o que foi gravado depois do backup se perde.
- Confira
restore_limiterestore_usedantes de restaurar. - A ação é
backup(sem o 2). O cabeçalho da página oficial dizbackups; o exemplo dela usabackup, como aqui. - O exemplo em curl da documentação oficial não manda o
bkid; o exemplo em PHP manda. Sem ele não há como saber qual backup restaurar.
Documentação oficial: Restoring backup.
Apagar um backup
Ação:act=backup · Método: POST
Apaga um backup da VPS.
Parâmetros
| Parâmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
svs | URL | número | sim | Id da VPS. |
delete | corpo (POST) | 1 | sim | Apaga um backup comum. |
bkid | corpo (POST) | número | sim | Id do backup. |
backuply_delete | corpo (POST) | 1 | não | Use no lugar de delete quando o backup for do Backuply. |
Exemplos
curl
curl -sS "https://$VIRT_HOST:4083/index.php?act=backup&svs=101&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS" \
--data-urlencode 'delete=1' \
--data-urlencode 'bkid=3'PHP
$r = virt_api('backup', [
'svs' => '101',
], [
'delete' => '1',
'bkid' => '3',
]);
print_r($r);Python
r = virt_api("backup", get={
"svs": "101",
}, post={
"delete": "1",
"bkid": "3",
})
print(r)Node.js
const r = await virtApi('backup', {
svs: '101',
}, {
delete: '1',
bkid: '3',
});
console.log(r);Resposta
done confirma. backups_list traz os backups da VPS; backup_limit e restore_limit os limites do período, backup_used e restore_used quanto já foi usado, e service_period o início e o fim do período.
Cuidados
- Não tem volta.
- O exemplo em curl da documentação oficial não manda o
bkid; o exemplo em PHP manda.
Documentação oficial: Delete Backup.
Listar os volumes
Ação:act=volume · Método: GET · Exclusivo do usuário Cloud
Lista os volumes da conta Cloud: discos adicionais que se criam à parte e se ligam a uma VPS.
Parâmetros
Nenhum além da ação e da autenticação.
Exemplos
curl
curl -sS "https://$VIRT_HOST:4083/index.php?act=volume&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS"PHP
$r = virt_api('volume');
print_r($r);Python
r = virt_api("volume")
print(r)Node.js
const r = await virtApi('volume');
console.log(r);Resposta
Os volumes da conta, com o id de cada um. A documentação oficial não mostra a resposta desta chamada.
Cuidados
- A tabela desta página na documentação oficial é a de criar volume, copiada por engano. Para listar, basta a ação.
Documentação oficial: List volumes.
Criar um volume
Ação:act=volume · Método: POST · Exclusivo do usuário Cloud
Cria um volume e, se pedido, já o liga e monta numa VPS.
Parâmetros
| Parâmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
addvolume | corpo (POST) | 1 | sim | Confirma a criação. |
volname | corpo (POST) | texto | sim | Nome do volume. |
vps_sel | corpo (POST) | número | sim | Id da VPS. |
vol_size | corpo (POST) | número | sim | Tamanho, em GB. |
format | corpo (POST) | texto | sim | Sistema de arquivos: ext4 ou xfs. |
attach_vol | corpo (POST) | 0 ou 1 | sim | 1 cria e liga à VPS; 0 só cria. |
mntpoint | corpo (POST) | texto | não | Onde montar dentro da VPS. |
Exemplos
curl
curl -sS "https://$VIRT_HOST:4083/index.php?act=volume&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS" \
--data-urlencode 'addvolume=1' \
--data-urlencode 'volname=dados' \
--data-urlencode 'vps_sel=101' \
--data-urlencode 'vol_size=20' \
--data-urlencode 'format=ext4' \
--data-urlencode 'attach_vol=1' \
--data-urlencode 'mntpoint=/mnt/dados'PHP
$r = virt_api('volume', [], [
'addvolume' => '1',
'volname' => 'dados',
'vps_sel' => '101',
'vol_size' => '20',
'format' => 'ext4',
'attach_vol' => '1',
'mntpoint' => '/mnt/dados',
]);
print_r($r);Python
r = virt_api("volume", post={
"addvolume": "1",
"volname": "dados",
"vps_sel": "101",
"vol_size": "20",
"format": "ext4",
"attach_vol": "1",
"mntpoint": "/mnt/dados",
})
print(r)Node.js
const r = await virtApi('volume', {}, {
addvolume: '1',
volname: 'dados',
vps_sel: '101',
vol_size: '20',
format: 'ext4',
attach_vol: '1',
mntpoint: '/mnt/dados',
});
console.log(r);Resposta
A documentação oficial não mostra a resposta desta chamada. Liste os volumes depois para pegar o id do novo.
Cuidados
- O campo
addvolumenão está na tabela da documentação oficial, só no exemplo em curl dela.
Documentação oficial: Add volume.
Ligar, desligar ou aumentar um volume
Ação:act=volume · Método: POST · Exclusivo do usuário Cloud
Liga um volume a uma VPS, tira de uma VPS ou muda o tamanho dele.
Parâmetros
| Parâmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
perform_action | corpo (POST) | número | sim | O que fazer: 1 ligar à VPS, 2 desligar da VPS, 3 mudar o tamanho. |
e_vol_did | corpo (POST) | número | sim | Id do volume. |
vpsid_vol | corpo (POST) | número | sim | Id da VPS. |
vol_size | corpo (POST) | número | não | Tamanho novo, em GB; só para perform_action=3. |
Exemplos
curl
curl -sS "https://$VIRT_HOST:4083/index.php?act=volume&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS" \
--data-urlencode 'perform_action=3' \
--data-urlencode 'e_vol_did=249' \
--data-urlencode 'vpsid_vol=101' \
--data-urlencode 'vol_size=40'PHP
$r = virt_api('volume', [], [
'perform_action' => '3',
'e_vol_did' => '249',
'vpsid_vol' => '101',
'vol_size' => '40',
]);
print_r($r);Python
r = virt_api("volume", post={
"perform_action": "3",
"e_vol_did": "249",
"vpsid_vol": "101",
"vol_size": "40",
})
print(r)Node.js
const r = await virtApi('volume', {}, {
perform_action: '3',
e_vol_did: '249',
vpsid_vol: '101',
vol_size: '40',
});
console.log(r);Resposta
A documentação oficial não mostra a resposta desta chamada.
Cuidados
- Antes de desligar um volume, desmonte-o dentro da VPS, ou dados em gravação se perdem.
- Depois de aumentar, o sistema de arquivos dentro da VPS ainda precisa ser expandido (
resize2fsno ext4,xfs_growfsno xfs). - A página oficial não tem exemplo em curl; os parâmetros aqui vêm da tabela e do exemplo em PHP dela.
Documentação oficial: Edit volume.
Apagar um volume
Ação:act=volume · Método: POST · Exclusivo do usuário Cloud
Apaga um volume, com os dados dele.
Parâmetros
| Parâmetro | Onde | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
delvol | corpo (POST) | número | sim | Id do volume. |
Exemplos
curl
curl -sS "https://$VIRT_HOST:4083/index.php?act=volume&api=json&apikey=$VIRT_KEY&apipass=$VIRT_PASS" \
--data-urlencode 'delvol=249'PHP
$r = virt_api('volume', [], [
'delvol' => '249',
]);
print_r($r);Python
r = virt_api("volume", post={
"delvol": "249",
})
print(r)Node.js
const r = await virtApi('volume', {}, {
delvol: '249',
});
console.log(r);Resposta
A documentação oficial não mostra a resposta desta chamada.
Cuidados
- Não tem volta.
- O exemplo em curl da documentação oficial não manda o
delvol, e sem ele a chamada só lista. Os parâmetros aqui vêm da tabela e do exemplo em PHP dela.
Documentação oficial: Delete volume.
Texto da Vitt Host, escrito a partir da documentação oficial da Virtualizor, lida em 07/10/2026. Onde a documentação oficial se contradiz, o artigo segue os exemplos dela e aponta a diferença em Cuidados.