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

  1. Listar os backups de uma VPS — act=backup2
  2. Fazer um backup agora — act=backup2
  3. Restaurar um backup — act=backup
  4. Apagar um backup — act=backup
  5. Listar os volumes — act=volume
  6. Criar um volume — act=volume
  7. Ligar, desligar ou aumentar um volume — act=volume
  8. 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âmetroOndeTipoObrigatórioDescrição
svsURLnúmerosimId 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=0 no corpo. Para só listar, a ação e o svs bastam.

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âmetroOndeTipoObrigatórioDescrição
svsURLnúmerosimId da VPS.
cbackupcorpo (POST)1simInicia 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_limit e backup_used antes 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âmetroOndeTipoObrigatórioDescrição
svsURLnúmerosimId da VPS.
restorecorpo (POST)1simRestaura um backup comum.
bkidcorpo (POST)númerosimId do backup.
backuply_restorecorpo (POST)1nãoUse 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_limit e restore_used antes de restaurar.
  • A ação é backup (sem o 2). O cabeçalho da página oficial diz backups; o exemplo dela usa backup, 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âmetroOndeTipoObrigatórioDescrição
svsURLnúmerosimId da VPS.
deletecorpo (POST)1simApaga um backup comum.
bkidcorpo (POST)númerosimId do backup.
backuply_deletecorpo (POST)1nãoUse 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âmetroOndeTipoObrigatórioDescrição
addvolumecorpo (POST)1simConfirma a criação.
volnamecorpo (POST)textosimNome do volume.
vps_selcorpo (POST)númerosimId da VPS.
vol_sizecorpo (POST)númerosimTamanho, em GB.
formatcorpo (POST)textosimSistema de arquivos: ext4 ou xfs.
attach_volcorpo (POST)0 ou 1sim1 cria e liga à VPS; 0 só cria.
mntpointcorpo (POST)textonãoOnde 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 addvolume nã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âmetroOndeTipoObrigatórioDescrição
perform_actioncorpo (POST)númerosimO que fazer: 1 ligar à VPS, 2 desligar da VPS, 3 mudar o tamanho.
e_vol_didcorpo (POST)númerosimId do volume.
vpsid_volcorpo (POST)númerosimId da VPS.
vol_sizecorpo (POST)númeronãoTamanho 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 (resize2fs no ext4, xfs_growfs no 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âmetroOndeTipoObrigatórioDescrição
delvolcorpo (POST)númerosimId 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.