Saját (modolt) Minecraft Szerver üzemeltetés [cloud backup]

Előző cikkben készítettünk egy scriptet mellyel lokálisan tudtunk mentést készíteni szerverünkről. Most pedig megnézzük, hogyan tudjuk kibővíteni, hogy felhőben lévő mentésünk is legyen. Mivel nagyon sok helyen a Backblaze-t használom hasonló célokra, ezért mutatok rá egy példát.

rclone telepítés

Szükségünk lesz az rclone nevű szoftverre, melyet az alábbi módon telepíthetünk:

$ sudo dnf install epel-release
$ sudo rpm -ql epel-release
$ sudo dnf install p7zip p7zip-plugins
$ curl https://rclone.org/install.sh | sudo bash

rclone konfigurálása

Most pedig váltsunk át a minecraft userünkre.

$ sudo su - minectaft

Majd indítsuk el az rclone konfigurálását.

$ rclone config

Ekkor az alábbi képernyő fogad bennünket:

2020/11/23 01:37:14 NOTICE: Config file "/opt/minecraft/.config/rclone/rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q>

Nyomjunk egy n-t és állítsunk be egy új remote-ot. Name-nek állítsunk be valami hangzatos nevet, én egyszerűen minecraftb2-őt állítottam. Storage-nak pedig adjuk meg, hogy b2. Backblaze profilunkban generáljunk egy új Application Key-t. Majd account-nak adjuk meg a keyID-t, key-nek pedig az applicationKey-t. A hard_delet-nek állítsunk false-t. Az edit advanced config-ra jelenleg nincs szükségünk, nyomjunk egy n-t. Végül ha minden megfelelőnek látunk az ellenőrzés során, akkor nyomjunk egy y-t. Így a következőt kel látnunk:

Current remotes:

Name                 Type
====                 ====
minecraftb2          b2

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q>

Bucket létrehozása

Lépjünk ki, majd hozzunk létre egy új bucket-et.

$ rclone mkdir minecraftb2:mcbackupbobeszhu

Fontos, hogy egyedi nevet adjunk, különben az alábbi hibaüzenet fogad bennünket:

2020/11/23 01:50:29 ERROR : Attempt 1/3 failed with 1 errors and: failed to create bucket: Bucket name is already in use (400 duplicate_bucket_name)
2020/11/23 01:50:30 ERROR : Attempt 2/3 failed with 1 errors and: failed to create bucket: Bucket name is already in use (400 duplicate_bucket_name)
2020/11/23 01:50:31 ERROR : Attempt 3/3 failed with 1 errors and: failed to create bucket: Bucket name is already in use (400 duplicate_bucket_name)
2020/11/23 01:50:31 Failed to mkdir: failed to create bucket: Bucket name is already in use (400 duplicate_bucket_name)

Ezt követően ellenőrizzük le, hogy valóban létrejött-e a bucket:

[minecraft@centos8 ~]$ rclone lsd minecraftb2:
          -1 2020-11-23 01:52:50        -1 mcbackupbobeszhu

Szinkronizálás

Végül készítsünk egy teszt fájlt, és szinkronizáljuk a backup könyvtár tartalmát az előbb létrehozott bucket-ba.

$ echo teszt >> /opt/minecraft/backups/teszt.txt
$ rclone sync /opt/minecraft/backups minecraftb2:mcbackupbobeszhu

Majd ellenőrizzük le, hogy valóban megtörtént-e:

[minecraft@centos8 ~]$ rclone ls minecraftb2:mcbackupbobeszhu
        6 teszt.txt

Végül módosítsuk az előző cikkben létrehozott backup.sh fájlunkat úgy, hogy a végére írjük a fenti sync parancsot. Ezt követően így néz ki a backup scriptünk:

#!/bin/bash

function rcon {
  /opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password "$1"
}

rcon "save-off"
rcon "save-all"
tar -cvpzf /opt/minecraft/backups/server-$(date +%F-%H-%M).tar.gz /opt/minecraft/server
rcon "save-on"

## Delete older backups
find /opt/minecraft/backups/ -type f -mtime +7 -name '*.gz' -delete

## Sync to B2 bucket
rclone sync /opt/minecraft/backups minecraftb2:mcbackupbobeszhu

Ez az oldal az Akismet szolgáltatást használja a spam csökkentésére. Ismerje meg a hozzászólás adatainak feldolgozását .

Tartalomjegyzék

A weboldalon cookie-kat ("sütiket") használunk, hogy a legjobb felhasználói élményt nyújthassuk látogatóinknak. A cookie beállítások igény esetén bármikor megváltoztathatók a böngésző beállításaiban.

Adatvédelmi beállítások elmentve!
Adatvédelmi beállítások

Amikor meglátogat egy webhelyet az tárolhat vagy lekérhet információkat a böngészőben, főként sütik formájában. Itt beállíthatja személyes cookie szolgáltatásokat.

Ezeket a cookie-k a webhelyünkön elhelyezett hirdetésekhez szükségesek.

Google Tag Manager segítségével nyomon követjük forgalmunkat, és segít nekünk az A/B új funkciók tesztelésében.

A Facebook segítségével nyomon követjük a kapcsolatokat a közösségi médiával.
  • m_pixel_ratio
  • presence
  • sb
  • wd
  • xs
  • fr
  • tr
  • c_user
  • datr

Összes tiltása
Összes engedélyezése