Como fazer backup de um servidor FiveM: banco de dados, recursos e txData
Faça backup do seu servidor FiveM: mysqldump ou HeidiSQL para o banco de dados, recursos, server.cfg e txData, backups agendados, cópias fora do servidor e como restaurar.
Um disco morre, um script ruim derruba uma tabela, um host fecha sua conta, ou você deleta a pasta errada. Se sua única cópia do servidor está no servidor, você começa do zero e seus jogadores perdem seus personagens. Este guia cobre o que fazer backup, como automatizar, e como restaurar.
O que fazer backup
| O que | Por quê | Onde |
|---|---|---|
| Banco de dados | Personagens, dinheiro, veículos, inventários, tudo que os jogadores possuem | MariaDB ou MySQL |
server.cfg |
Suas configurações do servidor e a ordem de início | pasta de dados do servidor |
pasta resources |
Seus scripts e seus arquivos de config | pasta de dados do servidor |
| txData | Configurações do txAdmin, contas de admin, histórico de bans e log de ações | pasta txData |
Os binários do servidor FiveM (artifacts) não precisam de backup. Você pode baixá-los novamente, veja updating server artifacts.
Atenção:
server.cfgpode conter sua chave de license, senha de banco de dados e tokens do Discord. Mantenha backups privados e nunca os poste em um lugar público.
Faça backup do banco de dados
Com mysqldump
mysqldump é enviado com MariaDB e MySQL. Substitua o usuário e o nome do banco de dados pelos seus:
mysqldump -u root -p --single-transaction --routines --databases es_extended > backup.sql--single-transactionfaz uma cópia consistente de tabelas InnoDB sem trancar o servidor.--routinesinclui procedimentos armazenados.--databasesadiciona a declaraçãoCREATE DATABASE, então uma restauração é mais simples.
Coloque a data no nome de arquivo, para que cópias não sobrescrevam uma à outra:
mysqldump -u root -p --single-transaction --routines --databases es_extended > "backup_$(date +%F).sql"Para executá-lo sem prompt de senha, armazene as credenciais em um arquivo de opção protegido (como ~/.my.cnf no Linux) em vez de digitá-las no comando.
Com HeidiSQL
Se você prefere uma ferramenta gráfica:
- Conecte-se ao servidor no HeidiSQL.
- Clique com o botão direito do mouse no banco de dados e escolha Export database as SQL.
- Selecione todas as tabelas, escolha Create para a estrutura e Insert para os dados, e escolha um arquivo de destino.
- Clique em Export.
Faça isso manualmente antes de mudanças arriscadas. Para backups regulares, automatize.
Faça backup de arquivos
Comprima as pastas que você quer manter:
tar -czf server_files_$(date +%F).tar.gz server.cfg resources txDataNo Windows, PowerShell pode fazer o mesmo:
Compress-Archive -Path server.cfg, resources, txData -DestinationPath "server_files_$(Get-Date -Format yyyy-MM-dd).zip"Execute de dentro da pasta que contém esses itens, ou use caminhos completos. Pule pastas de cache se seus backups ficarem enormes; elas são reconstruídas quando o servidor roda.
Agende-o
Linux: cron
Abra o crontab com crontab -e e adicione uma linha. Isto executa o dump todo dia às 04:00:
0 4 * * * mysqldump --single-transaction --routines --databases es_extended > /backups/db_$(date +\%F).sqlDentro do crontab, % deve ser escapado como \%. O usuário que o executa precisa de acesso ao banco de dados através de um arquivo de opção, como descrito acima.
Windows: Task Scheduler
Salve seus comandos de backup em um script backup.ps1, depois crie uma tarefa diária:
schtasks /Create /SC DAILY /ST 04:00 /TN "FiveM backup" /TR "powershell -ExecutionPolicy Bypass -File C:\fivem\backup.ps1"Ou use o aplicativo Task Scheduler: crie uma tarefa básica, defina um acionador diário, e escolha o script como a ação.
Escolha um horário quando poucos jogadores estão online, como logo antes de seu scheduled restart.
Delete old backups
Backups se acumulam. Mantenha, por exemplo, as últimas 7 cópias diárias e algumas semanais. Uma pequena limpeza no script é suficiente:
find /backups -name "db_*.sql" -mtime +14 -deleteMantenha backups fora do servidor
A regra é simples: um backup que vive na mesma máquina não é um backup real. Copie-o para outro lugar após cada execução:
- outro servidor ou máquina pessoal, com
scpoursyncsobre SSH, - um serviço de armazenamento em nuvem, com uma ferramenta como
rclone, - um disco diferente que não faz parte da mesma máquina, no mínimo.
Teste que a cópia chega. Verifique o destino de vez em quando.
Restaure um backup
Um backup que você nunca restaurou é uma esperança, não um backup. Tente uma restauração em um banco de dados de teste agora.
- Pare o servidor FiveM do txAdmin, para que nada escreva durante a restauração.
- Restaure o banco de dados:
mysql -u root -p < backup.sqlComo o dump usou --databases, ele recria o banco de dados em si. Se você exportou com HeidiSQL, escolha Run SQL file na ferramenta e selecione o arquivo.
- Coloque
server.cfge a pastaresourcesde volta, e a pastatxDatase txAdmin foi perdido. - Inicie o servidor e observe o console para erros de banco de dados. Veja oxmysql connection errors se a conexão falhar.
A restauração sobrescreve dados atuais nessas tabelas, então faça propositalmente e mantenha uma cópia do estado atual primeiro.
Antes de cada mudança
Antes de atualizar um framework, adicionar um script que edita tabelas, ou executar um arquivo SQL de um download, faça um dump manual rápido. Leva segundos e economiza muito trabalho.
Checklist
| Sintoma | Solução |
|---|---|
| Nenhum backup | Execute mysqldump hoje, depois agende-o |
| Dump pede senha em um trabalho agendado | Use um arquivo de opção com as credenciais |
| Backups apenas no servidor | Copie-os para outra máquina ou armazenamento |
| Disco fica cheio | Delete backups mais antigos que seu período de retenção |
| Perdeu configurações de txAdmin ou admins | Restaure a pasta txData |
| Falha de restauração na importação | Verifique se o arquivo SQL está completo e o usuário do banco de dados tem os direitos |
| Incerto se o backup funciona | Restaure-o para um banco de dados de teste e verifique as tabelas |
Respostas rápidas
Qual é a coisa mais importante para fazer backup?
O banco de dados. Personagens, dinheiro, veículos e inventários vivem lá, e você não pode reconstrui-los. Recursos e config podem ser re-baixados ou re-criados, mas dados do jogador não.
Com que frequência devo fazer backup?
Faça backup do banco de dados pelo menos uma vez por dia, e antes de cada atualização ou grande mudança de script. Um servidor ocupado pode executá-lo a cada poucas horas.
Um backup na mesma máquina é suficiente?
Não. Uma falha de disco, um servidor deletado ou um ataque de ransomware leva o backup consigo. Copie backups para outra máquina ou serviço de armazenamento.
Scripts sem esse problema
Tebex TemplateUm tema premium para sua loja Tebex, sem código e editado todo pelo painel da Tebex.Ver script →
Item Creator V2Crie itens usáveis com animações, props, efeitos e muito mais — sem escrever código.Ver script →
Shop CreatorMonte uma loja em menos de um minuto — donos, funcionários, cofres e assaltos inclusos.Ver script →