Como instalar o JetBackup 5 no cPanel e usar os comandos básicos do jetbackup5api para listar, rodar e consertar backups pela linha de comando.
O JetBackup é a ferramenta de backup mais usada em servidores cPanel. Ele faz backups incrementais, envia para destinos remotos (SFTP, S3 e compatíveis) e deixa o próprio cliente restaurar arquivos, e-mails e bancos de dados pelo cPanel. A versão atual é o JetBackup 5. O JetBackup 4 chegou ao fim de vida, e comandos antigos como jetcli backup -R license não valem para a versão 5.
Antes de começar
- Acesso SSH como
rootao servidor cPanel. - Licença do JetBackup 5 para o IP do servidor, comprada no site da JetApps ou com o seu fornecedor de licenças.
- Um destino de backup fora do servidor (outro servidor por SFTP ou um bucket S3). Backup só no mesmo disco não protege contra falha do disco.
Como instalar o JetBackup 5 no cPanel
- Instale o repositório da JetApps. O script detecta se o sistema é baseado em RHEL ou em Ubuntu e instala também o utilitário
jetapps:bash <(curl -LSs https://repo.jetlicense.com/static/install) - Instale o JetBackup 5 para cPanel, no canal estável de produção:
A instalação traz as dependências, inclusive o banco interno (MongoDB próprio, que escuta só emjetapps --install jetbackup5-cpanel releaselocalhost, porta 27217). - Abra o JetBackup no WHM. Recarregue o WHM e entre em WHM » Plugins » JetBackup 5. Na primeira tela, confira a licença.
- Crie o destino e o job. Cadastre o destino em Destinations (teste a conexão antes de salvar) e depois um job em Backup Jobs, com agenda e retenção. Para contas inteiras, o tipo incremental economiza espaço e tempo.
Comandos básicos do JetBackup 5 pela CLI
A ferramenta de linha de comando da versão 5 é o jetbackup5api. O formato é -F para a função e -D para os parâmetros. Acrescente -O json para saída em JSON.
| O que fazer | Comando |
|---|---|
| Listar os jobs e o próximo horário | jetbackup5api -F listBackupJobs |
| Rodar um job agora | jetbackup5api -F runBackupJobManually -D "_id=ID_DO_JOB" |
| Listar os destinos | jetbackup5api -F listDestinations |
| Reindexar um destino | jetbackup5api -F reindexDestination -D "_id=ID_DO_DESTINO" |
| Checar a integridade de um destino | jetbackup5api -F runIntegrityCheck -D "_id=ID_DO_DESTINO" |
| Listar contas órfãs (que não existem mais no servidor) | jetbackup5api -F listAccounts -D "orphan=1&limit=500" |
Os IDs aparecem na saída dos comandos de listagem, no campo _id. Os logs de cada tarefa ficam em /usr/local/jetapps/var/log/jetbackup5/, com uma pasta queue para os logs da fila.
Problemas comuns
Verification file doesn't exists on remote destination ... Please reindex this destination
O índice local não bate com o que está no destino, o que acontece depois de mexer nos arquivos do destino à mão ou de um backup interrompido. O job aborta em segundos, todos os dias, até alguém agir. Rode o reindexDestination do destino e, se o log pedir, o runIntegrityCheck seguido de novo reindex. Depois dispare o job manualmente para confirmar.
Problema de licença, mas a licença está paga
Se o listBackupJobs mostra licenseIssue: 1 ou responde com No suitable servers found e localhost:27217, o banco interno do JetBackup travou; a licença é lida desse banco e o aviso é falso. Confira se não há backup em andamento e reinicie os serviços:
systemctl restart jetmongod
systemctl restart jetbackup5d
jetbackup5api -F listBackupJobs
Disco cheio é a causa mais comum desse travamento. Liberar espaço não destrava o banco sozinho: o reinício é necessário. Veja servidor com disco cheio.
Jobs que não rodam e ninguém percebe
Confira periodicamente o campo de última execução no listBackupJobs e deixe as notificações do JetBackup ligadas para o e-mail do administrador. Backup sem conferência é backup que pode não existir.
O firewall manda alertas de arquivos suspeitos em /tmp durante o backup
Arquivos temporários criados pela ferramenta podem disparar alertas de verificação de arquivos do LFD (CSF). Antes de ignorar o caminho, confirme que os arquivos são mesmo do JetBackup.