Minecraft_server (multi-server) backup sur CentOS | minecraft.server-memo.net – Monter un serveur MineCraft
Sommaire
Besoin de sauvegarde
Il existe différentes causes, mais lorsque vous jouez avec minecraft, les données de jeu peuvent être cassées dans de rares cas.
Si cela se produit, le jeu sera perturbé et le monde créé au fil du temps sera soudainement perdu.
Cependant, si nous ne faisons que sauvegarder, nous pouvons éviter la perte totale du monde.
Si vous pensez que vous allez bien et que vous êtes hors de garde, vous regretterez plus tard
La sauvegarde est très importante! !
Méthode de sauvegarde
Je vais donc expliquer la méthode de sauvegarde "minecraft_server (multi-serveur)" avec CentOS.
En gros, il existe deux méthodes de sauvegarde.
- Comment arrêter le serveur minecraft
- Comment ne pas arrêter le serveur minecraft
Chacun a ses avantages et ses inconvénients.
Comment arrêter le serveur minecraft
- Mérite
- Les erreurs de bloc sont difficiles à produire car il n'y a pas de changement de données pendant la sauvegarde
- Inconvénient
- Lorsque le serveur s’arrête, vous ne pouvez pas jouer pendant ce temps.
Comment ne pas arrêter le serveur
- Mérite
- Puisque le serveur fonctionne, les personnes à l'intérieur peuvent continuer à jouer.
- Inconvénient
- Des erreurs de bloc peuvent se produire si les données sont mises à jour pendant la sauvegarde
Quelle sauvegarde est la meilleure
Chaque méthode présente des avantages et des inconvénients. Faisons donc une sauvegarde optimale en fonction de l’application.
Par exemple, s'il n'y a pas ou peu de personnes sur le serveur une fois par jour, arrêtez le serveur et sauvegardez, et si vous voulez sauvegarder à d'autres moments, effectuez une sauvegarde sans arrêter le serveur. Est ce
Préparation à l'avance
Je vais expliquer comment arrêter le serveur et comment ne pas arrêter le serveur, que j'utilise habituellement, ainsi que leurs procédures respectives, mais je vais d'abord préparer un emplacement de stockage pour les données sauvegardées. .
Création d'un emplacement de stockage de données de sauvegarde
Vérifiez l’espace libre du disque avec la commande "df" et décidez où stocker les données de sauvegarde.
Vérification de l'espace disque
Si vous vérifiez avec la commande "df", étant donné que "/ home" est gratuit, je vais y stocker les données de sauvegarde.
$ df -h Taille du système de fichiers Utilisé restant Utilisé% Position de montage / dev / mapper / centos_wwwxxxxxx-root 50G 1.4G 49G 3% / devtmpfs 991M 0 991M 0% / dev tmpfs 1001M 0 1001M 0% / dev / shm tmpfs 1001M 8.4M 993M 1% / run tmpfs 1001M 0 1001M 0% / sys / fs / cgroup / dev / vda1 497M 121M 377M 25% / boot / dev / mapper / centos_wwwxxxxxx-home 148G 58M 148G 1% / home
※ Au fait, "minecraft_server" est stocké dans le répertoire "/ opt / minecraft" de mon environnement.
Création d'un répertoire de stockage de données de sauvegarde
Puisque j'utilise "minecraft_server" en tant qu'utilisateur "minecraft", j'ai décidé de créer un répertoire appelé "mc_backup" dans le répertoire personnel de l'utilisateur "minecraft" "/ home / minecraft".
$ mkdir / home / minecraft / mc_backup /
Sauvegarde après arrêt du serveur
Le flux lors de l’arrêt et de la sauvegarde de "minecraft_server" est le suivant.
- arrêtez minecraft_server
- Sauvegarde de données
- démarrer minecraft_server
C'est très simple.
Ensuite, je vais expliquer la procédure de chaque article.
Arrêtez "minecraft_server"
Tout d’abord, arrêtez "minecraft_server".
Comment arrêter
Vous pouvez l’arrêter de l’une des façons suivantes. Arrêtez-le donc à votre façon.
- À la console du serveur
"/ Stop"Exécuter la commande "stop" - Exécutez la commande "/ stop" à partir de l'écran de jeu.
Arrêter depuis la console
"Minecraft_server" s'exécute sur la console du serveur (écran dans lequel le journal des opérations de minecraft_server est affiché)"/ Stop"Vous pouvez l'arrêter en exécutant la commande "stop".
[16:52:29] [Server thread/INFO]: Utiliser le type de canal epoll [16:52:30] [Server thread/INFO]: Niveau préparation "monde" [16:52:30] [Server thread/INFO]: Préparation de la région de départ pour le niveau 0 [16:52:31] [Server thread/INFO]: Préparation de l'aire de ponte: 31% [16:52:32] [Server thread/INFO]: Terminé (1.975s)! Pour obtenir de l'aide, tapez "help" ou "?" arrêter Entrez "/ stop" "stop" [16:55:00] [Server thread/INFO]: Arrêter le serveur [16:55:00] [Server thread/INFO]: Arrêt du serveur [16:55:00] [Server thread/INFO]: Sauver les joueurs [16:55:00] [Server thread/INFO]: Sauver des mondes [16:55:00] [Server thread/INFO]: Sauvegarder des morceaux pour le niveau 'monde' / Overworld [16:55:01] [Server thread/INFO]: Sauvegarder des morceaux pour le niveau 'monde' / Nether [16:55:01] [Server thread/INFO]: Enregistrer des morceaux pour le niveau 'monde' / The End [16:55:01] [Server Shutdown Thread/INFO]: Arrêt du serveur [16:55:01] [Server Shutdown Thread/INFO]: Sauver les joueurs [16:55:01] [Server Shutdown Thread/INFO]: Sauver des mondes [16:55:01] [Server Shutdown Thread/INFO]: Sauvegarder des morceaux pour le niveau 'monde' / Overworld
Si vous utilisez screen
En passant, si vous construisez "minecraft_server" dans ma procédure de construction, "minecraft_server" est utilisé sur la console créée à l'aide de la commande "screen". Vous devez vous connecter (attacher) à
Confirmation PID
Commencez par vérifier le PID du terminal "screen" exécuté avec la commande "screen -ls".
$ screen -ls Il y a un écran sur: 1345.minecraft (isolé) 1 Socket dans / var / run / screen / S-minecraft.
Se connecter à la console (attacher)
Dans le cas ci-dessus, "1345" est le PID, donc "screen -r [PID]Attachez (attachez) en utilisant la commande.
$ écran -r 1345
Maintenant, vous pouvez vous connecter (attacher) à la console où "minecraft_server" est en cours d'exécution.
Sur cet écran"/ Stop"Lorsque vous exécutez la commande "stop", "minecraft_server" est arrêté, cette console est également abandonnée et vous revenez à la console d'origine.
"/ Stop"Pour revenir à la console d'origine sans exécuter la commande "stop", revenez à la console d'origine en appuyant sur "Ctrl" + "d" puis revenez à la console d'origine (Détacher). .
Arrêtez depuis l'écran de jeu
Seuls les utilisateurs disposant de privilèges d'opérateur de niveau 4 peuvent s'exécuter, mais vous pouvez l'arrêter en tapant "/ stop" sur l'écran de jeu.

Sauvegarde de données
Lorsque "minecraft_server" est arrêté, nous allons sauvegarder les données ensuite.
La cible de sauvegarde est le répertoire entier où "minecraft_server" est stocké.
À propos des utilisateurs de sauvegarde
La sauvegarde est effectuée par le même utilisateur que le propriétaire des données "minecraft_server".
Dans mon cas, les données de "minecraft_server" sont stockées dans le répertoire "/ opt / minecraft" de mon environnement et l'utilisateur "minecraft" est le propriétaire des données. Le répertoire correspondant est donc "minecraft". La sauvegarde est effectuée par l'utilisateur.
Répertoire de stockage et informations sur le propriétaire
$ ls -la / opt 8 au total drwxr-xr-x.3 Racine Racine 22 avril 3 17h21. dr-xr-xr-x. 17 racine racine 4096 3 avril 17h04 .. drwxr-xr-x 4 minecraft minecraft 4096 30 avril 16:18 minecraft
Sauvegarde de données
Sauvegardez tout le dossier avec la commande "tar".
Lors de la sauvegarde, veillez à lui attribuer un nom qui vous aidera à savoir quand vous avez sauvegardé des données.
J'utilise toujours la commande "date" pour ajouter automatiquement la date et l'heure de la sauvegarde.
$ cd / home / minecraft / mc_backup $ tar cfvz minecraft_`date +% Y% m% d-% H% M% S`.tar.gz / opt / minecraft /
* Bien que les données soient sauvegardées avec la commande "tar" dans ce cas, il n'y a aucun problème à le faire avec l'autre commande "cp", etc. Veuillez effectuer la sauvegarde à votre guise.
Début de minecraft_server
Une fois la sauvegarde du fichier terminée, démarrez "minecraft_server".
Ceci termine la sauvegarde après l’arrêt du serveur.
Comment ne pas arrêter le serveur
Ensuite, c’est une méthode pour sauvegarder sans arrêter "minecraft_server".
Le flux de sauvegarde est comme suit.
- Sauvegarder les données en mémoire
- Ne pas sauvegarder les données du monde automatiquement
- Sauvegarde de données
- Reprendre la sauvegarde automatique des données mondiales
Écrire des données en mémoire
Tout d'abord"/ Save-all"Écrivez des données en mémoire avec la commande "save-all".
La commande "save-all" peut être exécutée de l'une des manières suivantes.
- À la console du serveur
"/ Save-all"Exécuter la commande "save-all" - Exécutez la commande "/ save-all" à partir de l'écran de jeu.
Exécuter depuis la console du serveur
"Minecraft_server" s'exécute sur la console du serveur (écran dans lequel le journal des opérations de minecraft_server est affiché)"/ Save-all"Lorsque la commande "save-all" est exécutée, les données mondiales sont sauvegardées et un message à cet effet est affiché.
[15:39:09] [Server thread/INFO]: Terminé (1.719s)! Pour obtenir de l'aide, tapez "help" ou "?" tout sauver [15:41:02] [Server thread/INFO]: Économiser ... [15:41:02] [Server thread/INFO]: Sauvé le monde
Courir depuis l'écran de jeu
Exécutez la commande "/ save-all" en tant qu'utilisateur disposant des droits d'opérateur.

Les données mondiales sont enregistrées et un message à cet effet est affiché.

Ne pas sauvegarder les données du monde automatiquement
Lors de la sauvegarde des données, l'écriture sur les données mondiales est interrompue temporairement par la commande "save-off" afin d'éviter l'enregistrement automatique des données mondiales.
Vous pouvez exécuter "save-off" de l’une des façons suivantes.
- À la console du serveur
"/ Save-off"Exécutez la commande "/ save-off" - Exécutez la commande "/ save-off" à partir de l'écran de jeu.
Exécuter depuis la console du serveur
Sur la console du serveur/ save-off "Lorsque la commande "save-off" est exécutée, le message "Sauvegarde automatique désactivée du monde" s'affiche et un message indiquant que la fonction de sauvegarde automatique a été arrêtée est affiché.
/ save-off [15:42:01] [Server thread/INFO]: Désactivation de la sauvegarde automatique mondiale
Courir depuis l'écran de jeu
Exécutez la commande "/ save-off" en tant qu'utilisateur disposant des droits d'opérateur.

Un message apparaît indiquant que la sauvegarde automatique des données mondiales a été désactivée.

Sauvegarde de données
Ensuite, je vais sauvegarder, mais les données à sauvegarder sont les suivantes.
Données de sauvegarde de la cible
- Répertoire "World" ※ Si le nom du monde (level-name = world) est modifié dans server.properties, le répertoire de ce nom
- banned-ips.json
- banned-players.json
- ops.json
- server.properties
- usercache.json
- liste blanche.json
Dans la méthode d’arrêt du serveur, l’ensemble du répertoire est sauvegardé, mais cette fois-ci, "minecraft_server.jar" et les fichiers journaux, etc. qui fonctionnent et sont encore en cours d’écriture ne sont pas inclus dans la cible de sauvegarde.
Exécution de sauvegarde
Accédez au répertoire de stockage de données de sauvegarde et sauvegardez le fichier cible avec tar.
$ cd / home / minecraft / mc_backup $ tar cfvz minecraft_`date +% Y% m% d-% H% M% S`.tar.gz /opt/minecraft/*.json /opt/minecraft/server.properties / opt / minecraft / world
Reprendre la sauvegarde automatique des données mondiales
Après avoir sauvegardé vos données, assurez-vous de reprendre la sauvegarde automatique des données mondiales avec la commande "save-on".
La commande "save-on" peut être exécutée de l’une des façons suivantes.
- À la console du serveur
"/ Save-on"Exécuter la commande "save-on" - Exécutez la commande "/ save-on" à partir de l'écran de jeu.
Exécuter depuis la console du serveur
Lorsque la commande "/ save-on" est exécutée sur la console du serveur, le message "Enregistrement automatique activé dans le monde" s'affiche et un message indiquant que la fonction de sauvegarde automatique a été démarrée s'affiche.
économiser sur [16:06:55] [Server thread/INFO]: Activation de la sauvegarde automatique du monde
Courir depuis l'écran de jeu
Exécutez la commande "/ save-on" en tant qu'utilisateur disposant des droits d'opérateur.

Un message apparaît indiquant que la sauvegarde automatique des données mondiales a été activée.

La sauvegarde effectuée sans arrêter "minecraft_server" est maintenant terminée.
Script de sauvegarde
Il est important d'effectuer une sauvegarde, mais il est assez fastidieux d'effectuer une sauvegarde manuelle à chaque fois. L'utilisation de la commande "screen" est donc limitée à l'environnement exécutant "minecraft_server", mais vous devez créer un script de sauvegarde. J'ai essayé
Promesse
Tout d’abord, c’est une promesse concernant ce script.
- Utilisez à vos risques et périls
Dans mon environnement, nous avons testé plusieurs fois, mais veuillez effectuer une sauvegarde manuelle avant l'exécution, le cas échéant.
Description du script
J'ai essayé de créer un script pour arrêter et sauvegarder "minecraft_server" et deux types de scripts pour sauvegarder sans arrêter.
- mc_backup_full.sh Arrêtez "minecraft_server" et sauvegardez
- mc_backup_hourly.sh Sauvegarde sans arrêter "minecraft_server"
La description de chaque variable utilisée dans le script est décrite ci-dessous. Veuillez éditer en fonction de votre environnement.
| Nom de la variable | Description |
|---|---|
| Service |
Nom du fichier exécutable de miecraft_server |
| NOM D'UTILISATEUR |
utilisateur d'exécution minecraft_server |
| SCNAME |
nom du terminal à l'écran |
| MC_PATH | répertoire d'installation minecraft_server |
| BK_PATH |
Répertoire de stockage de données de sauvegarde |
| BK_TIME | Obtenir l'heure de la sauvegarde avec `date +% Y% m% d-% H% M% S` |
| BK_NAME | Nom du fichier de sauvegarde |
| BK_GEN | Définition du nombre de jours de fichier de sauvegarde à conserver |
| XMX |
Valeur d'allocation de mémoire maximale au démarrage de "minecraft_server" |
| XMS |
Valeur de mémoire initiale au démarrage de "minecraft_server" |
| BK_FILE |
Données de sauvegarde de la cible |
Comment utiliser le script
Créez un script en tant qu'utilisateur exécutant "minecraft_server" à un emplacement approprié. Dans ce cas, n'oubliez pas de leur donner la permission de s'exécuter.
Créer un script
Dans l'exemple suivant, "mc_backup_full.sh" est créé dans le répertoire "/ opt / minecraft".
$ vi /opt/minecraft/mc_backup_full.sh $ chmod + x /opt/minecraft/mc_backup_full.sh
Méthode d'essai
Le script que vous avez créé peut être affiché en exécutant l'option avec "-x", veuillez donc vérifier avec cela en premier s'il fonctionne correctement.
$ sh -x /opt/minecraft/mc_backup_full.sh + SERVICE = minecraft_server.jar + USERNAME = minecraft + SCNAME = minecraft + MC_PATH = / opt / minecraft + BK_PATH = / home / minecraft / mc_backup ++ date +% Y% m% d-% H% M% S + BK_TIME = 20151002-143656 + BK_NAME = / home / minecraft / mc_backup / mc_backup_full_20151002-1243656.tar.gz + BK_GEN = 3 + XMX = 1024M + XMS = 1024M + cd / opt / minecraft ####### En abrégé ##### /opt/minecraft/usercache.json_20150918 /opt/minecraft/ops.json /opt/minecraft/mc_backup_hourly.sh_20150930 /opt/minecraft/mc_backup_full.sh + dormir 10 + echo 'Sauvegarde complète terminée!' Sauvegarde complète terminée! + trouver / home / minecraft / mc_backup -name 'mc_backup_full * .tar.gz' -type f -mtime +3 -exec rm '' ';' + echo 'Démarrer minecraft_server.jar ...' Démarrer minecraft_server.jar ... + écran -AmdS minecraft java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui
Vous devriez maintenant être capable de voir le contenu si une erreur survient en cours de route.
Script de sauvegarde pour arrêter le serveur
Ce script est un script shell permettant de sauvegarder après l’arrêt de "minecraft_server".
C'est "mc_full_backup.sh" parce que c'est un script que j'utilise pour arrêter le serveur et obtenir une sauvegarde complète.
mc_backup_full.sh
#! / bin / bash SERVICE = 'minecraft_server.jar' USERNAME = 'minecraft' SCNAME = 'minecraft' MC_PATH = '/ opt / minecraft' BK_PATH = '/ home / minecraft / mc_backup' BK_TIME = `date +% Y% m% d-% H% M% S` BK_NAME = "$ BK_PATH / mc_backup_full _ $ BK_TIME .tar.gz" BK_GEN = "3" XMX = "1024M" XMS = "1024M" cd $ MC_PATH ME = `whoami` si [ $ME == $USERNAME ] alors si pgrep -u $ USERNAME -f $ SERVICE> / dev / null alors echo "Sauvegarde complète démarrer données minecraft ..." screen-p 0-S $ SCNAME-X eval 'stuff ", dit le serveur qui s'arrête en 10 secondes. Enregistrement de la carte ..." 015' dormir 10 écran -p 0 -S $ SCNAME -X eval 'trucs' enregistrer-tout " 015 ' écran -p 0 -S $ SCNAME -X eval 'articles' arrêt ' 015' echo "serveur arrêté minecraft" echo "Début de sauvegarde complète ..." tar cfvz $ BK_NAME $ MC_PATH dormir 10 echo "Sauvegarde complète terminée!" trouver $ BK_PATH -name "mc_backup_full * .tar.gz" -type f -mtime + $ BK_GEN -exec rm ; echo "À partir de $ SERVICE ..." screen -AmdS $ SCNAME java -Xmx $ XMX -Xms $ XMS -jar $ SERVICE nogui d'autre echo "$ SERVICE n'était pas en cours d'exécution." fi d'autre echo "Veuillez lancer l'utilisateur $ USERNAME." fi
Script de sauvegarde qui n'arrête pas le serveur
Ce script shell obtient une sauvegarde sans arrêter "minecraft_server".
mc_backup_hourly.sh
C'est "mc_backup_hourly.sh" car c'est un script que j'utilise pour effectuer une sauvegarde toutes les heures.
Le contenu de la variable est identique à "mc_backup_full.sh", mais seule la partie constituant les données cible de la sauvegarde dans "BK_FILE" est ajoutée.
#! / bin / bash SERVICE = 'minecraft_server.jar' USERNAME = 'minecraft' SCNAME = 'minecraft' MC_PATH = '/ opt / minecraft' BK_PATH = '/ home / minecraft / mc_backup' BK_TIME = `date +% Y% m% d-% H% M% S` BK_GEN = "3" BK_NAME = "$ BK_PATH / mc_backup_hourly _ $ BK_TIME .tar" BK_FILE = "$ MC_PATH / world $ MC_PATH / banned-ips.json $ MC_PATH / banned-players.json $ MC_PATH / ops.json $ MC_PATH / server.properties $ MC_PATH / usercache.json $ MC_PATH / whitelist.json " cd $ MC_PATH ME = `whoami` si [ $ME == $USERNAME ] alors si pgrep -u $ USERNAME -f $ SERVICE> / dev / null alors echo "Sauvegarde démarrer les données minecraft ..." écran -p 0 -S $ SCNAME -X eval 'trucs' enregistrer-tout " 015 ' dormir 10 screen -p 0 -S $ SCNAME -X eval 'trucs "sauvegarde-off" 015' tar cfv $ BK_NAME $ BK_FILE dormir 10 écran -p 0 -S $ SCNAME -X eval 'trucs "sauvegarde-sur" 015' echo "La sauvegarde de minecraft_server est terminée!" gzip -f $ BK_NAME trouver $ BK_PATH -name "mc_backup_hourly _ *. tar.gz" -type f -mtime + $ BK_GEN -exec rm ; d'autre echo "$ SERVICE n'était pas en cours d'exécution." fi d'autre echo "Veuillez exécuter l'utilisateur echo $ USERNAME." fi
Paramètres de sauvegarde programmés
En enregistrant le script shell ci-dessus dans "cron", vous pouvez le sauvegarder automatiquement.
paramètres de crontab
Ce travail doit être effectué par l'utilisateur qui exécute "minecraft_server".
$ crontab -e
Réglage du contenu
Cette fois, le serveur est arrêté tous les jours à 4h30 minutes et la sauvegarde est effectuée sans arrêter le serveur toutes les 30 minutes.
30 4 * * * /opt/minecraft/mc_backup_full.sh 30 * * * * /opt/minecraft/mc_backup_hourly.sh
Veuillez définir l’intervalle de sauvegarde comme vous le souhaitez.
Les paramètres détaillés de crontab sont résumés sur cette page.
Comment restaurer
La méthode de restauration à partir des données de sauvegarde est très simple et le déroulement du travail est le suivant.
- Décompression des données de sauvegarde
- arrêtez minecraft_server
- Restauration de données
- démarrer minecraft_server
Décompression des données de sauvegarde
Extrayez les données de sauvegarde que vous souhaitez restaurer à l'aide de la commande "tar".
Effectuez ce travail avec l'utilisateur exécutant "minecraft_server" ainsi que la sauvegarde.
Comment extraire
Données de sauvegarde $ tar xzfv
Ce qui suit est le journal lorsque les données de sauvegarde sont réellement décompressées.
$ tar xfzv mc_backup_full_20151002-043001.tar.gz opt / minecraft / opt / minecraft / minecraft_server.1.8.3.jar opt / minecraft / minecraft_server.jar opt / minecraft / logs / opt / minecraft / logs / 2015-04-03-1.log.gz ##### Les abréviations suivantes #####
Une fois l'extraction terminée, un répertoire appelé "opt" est créé dans le répertoire dans lequel vous avez travaillé et les données sauvegardées sont stockées dans le répertoire "minecraft".
En ce qui concerne le nom du répertoire dans lequel les données de sauvegarde sont stockées, dans mon environnement, "minecraft_server" est installé dans le répertoire "/ opt / minecraf". Ce nom de répertoire est donc utilisé, mais "minecraft_server dans un autre répertoire". Lors de l'installation et de la sauvegarde, remplacez-le par le nom du répertoire.
Par exemple, lors de la sauvegarde dans un environnement installé dans le répertoire "/ home / minecraft / minecraft" et de l'extraction des données, un répertoire appelé "home" est créé et les données de sauvegarde y sont stockées. Vous
arrêtez minecraft_server
Arrêtez "minecraft_server" avant de restaurer les données de sauvegarde.
La méthode d’arrêt est expliquée dans la section travail de sauvegarde de cette page, veuillez donc la vérifier.
Restauration de données
La restauration des données est facile, il suffit de remplacer les fichiers que vous souhaitez restaurer avec la commande cp.
Restaurer un seul fichier
Si vous souhaitez restaurer un fichier unique tel que "server.properties", copiez les données à l'aide de la commande "cp -p".
$ cp -p Décompressez les données de sauvegarde Données actuelles
Répertoire mondial de restauration
Les données mondiales, etc. sont généralement stockées dans le répertoire "world", et la commande "cp -Rp" est utilisée pour restaurer le répertoire entier.
$ cp -Rp Décompressez les données de sauvegarde Données actuelles
Ce qui suit est le journal de travail lors de la restauration des données mondiales.
$ cd opt / minecraft / $ cp -Rp world / / opt / minecraft /
démarrer minecraft_server
Une fois le travail de restauration des données terminé, démarrez "minecraft_server" et le travail est terminé.







Commentaires
Laisser un commentaire