Usar cupom WELCOME para salvar 20%

$ USD
  • $ USD
  • € EUR
  • £ GBP
  • $ AUD
  • R$ BRL
  • Franco suíço Franco suíço
  • ¥ ienes
Moeda
$ USD
  • $ USD
  • € EUR
  • £ GBP
  • $ AUD
  • R$ BRL
  • Franco suíço Franco suíço
  • ¥ ienes
Como fazer backup do servidor FiveM

Como Fazer Backup e Restaurar um Servidor FiveM

Um backup recuperável do FiveM emparelha o banco de dados com os recursos e a configuração correspondentes. Prove isso restaurando esse par em um servidor isolado e verificando o estado do jogador após uma reinicialização.

Defina um ponto de recuperação

Inclua server-data, server.cfg, permissões, perfis txAdmin necessários, recursos personalizados e registros de versão. Anote as versões do artefato e do framework e as dependências externas. Mantenha segredos em backups privados, nunca em repositórios públicos.

Para um par consistente, agende a manutenção e pare o FXServer e outros aplicativos que gravam dados antes do despejo final do banco de dados e da cópia do arquivo. Não execute alterações de esquema durante o despejo. Os exemplos abaixo usam MariaDB; as instalações MySQL devem usar suas ferramentas e opções de fornecedor correspondentes.

Prepare a autenticação do banco de dados

Use uma conta de backup dedicada com os privilégios exigidos pelos recursos do seu banco de dados. Armazene seus detalhes de conexão em um arquivo de opção privado do MariaDB legível apenas pela conta de backup. Mantenha-o fora da raiz da web e do repositório.

A documentação do mariadb-dump explica a autenticação e os limites dos snapshots consistentes. --single-transaction fornece um snapshot consistente de tabelas transacionais; não torna consistentes as tabelas não transacionais.

Exemplo Linux

Execute isso como o usuário de backup autorizado após coordenar as gravações. Substitua o nome do banco de dados e os caminhos pela sua instalação real. O arquivo de opção privado já deve existir:

#!/usr/bin/env bash
set -euo pipefail
umask 077
stamp=$(date -u +%Y%m%dT%H%M%SZ)
dest="/srv/backups/fivem/$stamp"
install -d -m 0700 "$dest"
mariadb-dump --defaults-extra-file=/etc/fivem/backup.cnf \
  --single-transaction --routines --events --triggers \
  --databases fivem --result-file="$dest/database.sql"
test -s "$dest/database.sql"
tar -C /srv/fivem -czf "$dest/server-data.tar.gz" server-data
tar -tzf "$dest/server-data.tar.gz" > /dev/null
sha256sum "$dest/database.sql" "$dest/server-data.tar.gz" > "$dest/SHA256SUMS"

Adicione quaisquer caminhos txAdmin/configuração necessários fora de server-data ao seu conjunto de backup. Teste o comando sob a mesma conta e ambiente usados pelo cron ou por um temporizador systemd. Alerte sobre status de saída diferente de zero.

Exemplo do Windows PowerShell

Use o caminho real para mariadb-dump.exe e um arquivo de opção privado. --result-file evita alterações na codificação de texto do shell para o dump:

$ErrorActionPreference = "Stop"
$Stamp = (Get-Date).ToUniversalTime().ToString("yyyyMMddTHHmmssZ")
$Destination = "D:\FiveM-Backups\$Stamp"
New-Item -ItemType Directory -Path $Destination | Out-Null
& "C:\MariaDB\bin\mariadb-dump.exe" `
  "--defaults-extra-file=D:\FiveM-Private\backup.cnf" `
  --single-transaction --routines --events --triggers `
  --databases fivem "--result-file=$Destination\database.sql"
if ($LASTEXITCODE -ne 0) { throw "Database dump failed" }
if ((Get-Item "$Destination\database.sql").Length -eq 0) { throw "Empty dump" }
Copy-Item "D:\FXServer\server-data" "$Destination\server-data" -Recurse
Get-FileHash "$Destination\database.sql" | Format-List

Restrinja as permissões do Windows do diretório de backup aos administradores de backup e recuperação. No Agendador de Tarefas, use caminhos executáveis explícitos e uma conta dedicada; verifique seu histórico e alertas de falha.

Restaurar em um servidor isolado

  1. Escolha uma geração de backup completa e verifique seus checksums ou integridade do arquivo. Nunca combine um banco de dados mais novo com recursos arbitrários mais antigos.
  2. Extraia os arquivos para um local de teste separado. Prepare um serviço de banco de dados isolado e restaure database.sql com o cliente MariaDB correspondente. O dump contém o nome do banco de dados, portanto, não o importe para o serviço ativo.
  3. Defina credenciais e endpoints apenas para teste e inicie a combinação de artefato/framework registrada. Impeça que os recursos de teste enviem pagamentos reais, webhooks ou notificações de jogadores.
  4. Entre com um jogador de teste. Verifique personagem, inventário, trabalhos, moradia e permissões; reconecte e reinicie, depois verifique novamente.
  5. Registre a duração da restauração e quaisquer dependências ausentes. Mantenha várias gerações retidas, uma cópia criptografada fora do local e uma conta de backup que não possa apagar todas as gerações remotas.

Retome as gravações normais somente após a conclusão do conjunto de backup. Um trabalho agendado bem-sucedido é uma evidência útil; uma restauração bem-sucedida é a verificação que torna o backup confiável.

Deixe um comentário