{"id":162229,"date":"2024-10-11T17:06:13","date_gmt":"2024-10-11T15:06:13","guid":{"rendered":"https:\/\/hifivem.com\/?p=162229"},"modified":"2026-08-09T12:55:27","modified_gmt":"2026-08-09T10:55:27","slug":"como-fazer-backup-do-seu-servidor-fivem","status":"publish","type":"post","link":"https:\/\/rpcrate.com\/pt\/how-to-backup-your-fivem-server\/","title":{"rendered":"Como Fazer Backup e Restaurar um Servidor FiveM"},"content":{"rendered":"<p>Um backup recuper\u00e1vel do FiveM emparelha o banco de dados com os recursos e a configura\u00e7\u00e3o correspondentes. Prove isso restaurando esse par em um servidor isolado e verificando o estado do jogador ap\u00f3s uma reinicializa\u00e7\u00e3o.<\/p>\n<h2 id=\"define-one-recovery-point\">Defina um ponto de recupera\u00e7\u00e3o<\/h2>\n<p>Inclua server-data, server.cfg, permiss\u00f5es, perfis txAdmin necess\u00e1rios, recursos personalizados e registros de vers\u00e3o. Anote as vers\u00f5es do artefato e do framework e as depend\u00eancias externas. Mantenha segredos em backups privados, nunca em reposit\u00f3rios p\u00fablicos.<\/p>\n<p>Para um par consistente, agende a manuten\u00e7\u00e3o e pare o FXServer e outros aplicativos que gravam dados antes do despejo final do banco de dados e da c\u00f3pia do arquivo. N\u00e3o execute altera\u00e7\u00f5es de esquema durante o despejo. Os exemplos abaixo usam MariaDB; as instala\u00e7\u00f5es MySQL devem usar suas ferramentas e op\u00e7\u00f5es de fornecedor correspondentes.<\/p>\n<h2 id=\"prepare-database-authentication\">Prepare a autentica\u00e7\u00e3o do banco de dados<\/h2>\n<p>Use uma conta de backup dedicada com os privil\u00e9gios exigidos pelos recursos do seu banco de dados. Armazene seus detalhes de conex\u00e3o em um arquivo de op\u00e7\u00e3o privado do MariaDB leg\u00edvel apenas pela conta de backup. Mantenha-o fora da raiz da web e do reposit\u00f3rio.<\/p>\n<p>O <a href=\"https:\/\/mariadb.com\/docs\/server\/clients-and-utilities\/backup-restore-and-import-clients\/mariadb-dump\">manual do mariadb-dump<\/a> explica a autentica\u00e7\u00e3o e os limites de snapshot consistente. --single-transaction fornece um snapshot consistente para tabelas transacionais; n\u00e3o torna as tabelas n\u00e3o transacionais consistentes.<\/p>\n<h2 id=\"linux-example\">Exemplo Linux<\/h2>\n<p>Execute isso como o usu\u00e1rio de backup autorizado ap\u00f3s coordenar as grava\u00e7\u00f5es. Substitua o nome do banco de dados e os caminhos pela sua instala\u00e7\u00e3o real. O arquivo de op\u00e7\u00e3o privado j\u00e1 deve existir:<\/p>\n<pre data-no-translation=\"\" translate=\"no\"><code data-no-translation=\"\" translate=\"no\">#!\/usr\/bin\/env bash\nset -euo pipefail\numask 077\nstamp=$(date -u +%Y%m%dT%H%M%SZ)\ndest=\"\/srv\/backups\/fivem\/$stamp\"\ninstall -d -m 0700 \"$dest\"\nmariadb-dump --defaults-extra-file=\/etc\/fivem\/backup.cnf \\\n  --single-transaction --routines --events --triggers \\\n  --databases fivem --result-file=\"$dest\/database.sql\"\ntest -s \"$dest\/database.sql\"\ntar -C \/srv\/fivem -czf \"$dest\/server-data.tar.gz\" server-data\ntar -tzf \"$dest\/server-data.tar.gz\" &gt; \/dev\/null\nsha256sum \"$dest\/database.sql\" \"$dest\/server-data.tar.gz\" &gt; \"$dest\/SHA256SUMS\"<\/code><\/pre>\n<p>Adicione quaisquer caminhos txAdmin\/configura\u00e7\u00e3o necess\u00e1rios 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\u00edda diferente de zero.<\/p>\n<h2 id=\"windows-powershell-example\">Exemplo do Windows PowerShell<\/h2>\n<p>Use o caminho real para mariadb-dump.exe e um arquivo de op\u00e7\u00e3o privado. --result-file evita altera\u00e7\u00f5es na codifica\u00e7\u00e3o de texto do shell para o dump:<\/p>\n<pre data-no-translation=\"\" translate=\"no\"><code data-no-translation=\"\" translate=\"no\">$ErrorActionPreference = \"Stop\"\n$Stamp = (Get-Date).ToUniversalTime().ToString(\"yyyyMMddTHHmmssZ\")\n$Destination = \"D:\\FiveM-Backups\\$Stamp\"\nNew-Item -ItemType Directory -Path $Destination | Out-Null\n&amp; \"C:\\MariaDB\\bin\\mariadb-dump.exe\" `\n  \"--defaults-extra-file=D:\\FiveM-Private\\backup.cnf\" `\n  --single-transaction --routines --events --triggers `\n  --databases fivem \"--result-file=$Destination\\database.sql\"\nif ($LASTEXITCODE -ne 0) { throw \"Database dump failed\" }\nif ((Get-Item \"$Destination\\database.sql\").Length -eq 0) { throw \"Empty dump\" }\nCopy-Item \"D:\\FXServer\\server-data\" \"$Destination\\server-data\" -Recurse\nGet-FileHash \"$Destination\\database.sql\" | Format-List<\/code><\/pre>\n<p>Restrinja as permiss\u00f5es do Windows do diret\u00f3rio de backup aos administradores de backup e recupera\u00e7\u00e3o. No Agendador de Tarefas, use caminhos execut\u00e1veis expl\u00edcitos e uma conta dedicada; verifique seu hist\u00f3rico e alertas de falha.<\/p>\n<h2 id=\"restore-on-an-isolated-server\">Restaurar em um servidor isolado<\/h2>\n<ol>\n<li>Escolha uma gera\u00e7\u00e3o de backup completa e verifique seus checksums ou integridade do arquivo. Nunca combine um banco de dados mais novo com recursos arbitr\u00e1rios mais antigos.<\/li>\n<li>Extraia os arquivos para um local de teste separado. Prepare um servi\u00e7o de banco de dados isolado e restaure database.sql com o cliente MariaDB correspondente. O dump cont\u00e9m o nome do banco de dados, portanto, n\u00e3o o importe para o servi\u00e7o ativo.<\/li>\n<li>Defina credenciais e endpoints apenas para teste e inicie a combina\u00e7\u00e3o de artefato\/framework registrada. Impe\u00e7a que os recursos de teste enviem pagamentos reais, webhooks ou notifica\u00e7\u00f5es de jogadores.<\/li>\n<li>Entre com um jogador de teste. Verifique personagem, invent\u00e1rio, trabalhos, moradia e permiss\u00f5es; reconecte e reinicie, depois verifique novamente.<\/li>\n<li>Registre a dura\u00e7\u00e3o da restaura\u00e7\u00e3o e quaisquer depend\u00eancias ausentes. Mantenha v\u00e1rias gera\u00e7\u00f5es retidas, uma c\u00f3pia criptografada fora do local e uma conta de backup que n\u00e3o possa apagar todas as gera\u00e7\u00f5es remotas.<\/li>\n<\/ol>\n<p>Retome as grava\u00e7\u00f5es normais somente ap\u00f3s a conclus\u00e3o do conjunto de backup. Um trabalho agendado bem-sucedido \u00e9 uma evid\u00eancia \u00fatil; uma restaura\u00e7\u00e3o bem-sucedida \u00e9 a verifica\u00e7\u00e3o que torna o backup confi\u00e1vel.<\/p>","protected":false},"excerpt":{"rendered":"<p>Um backup recuper\u00e1vel do FiveM emparelha o banco de dados com os recursos e a configura\u00e7\u00e3o correspondentes. Prove isso restaurando esse par em um servidor isolado e verificando o estado do jogador ap\u00f3s uma reinicializa\u00e7\u00e3o.<\/p>","protected":false},"author":1,"featured_media":185837,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1899],"tags":[],"class_list":["post-162229","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials"],"_links":{"self":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/162229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/comments?post=162229"}],"version-history":[{"count":5,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/162229\/revisions"}],"predecessor-version":[{"id":213901,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/posts\/162229\/revisions\/213901"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/media\/185837"}],"wp:attachment":[{"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/media?parent=162229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/categories?post=162229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rpcrate.com\/pt\/wp-json\/wp\/v2\/tags?post=162229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}