Oyun Sunucusu Yedekleme ve Geri Yükleme
Oyun sunucusu otomatik yedekleme, cron yapılandırması, rsync ile uzak yedekleme ve dünya dosyası yönetimi rehberi.
İçindekiler
Giriş
Oyun sunucusu yedekleme, veri kaybını önlemek için atılması gereken en kritik adımdır. Dünya dosyaları, oyuncu verileri, yapılandırma dosyaları ve mod/plugin ayarları düzenli olarak yedeklenmelidir. Bu rehber, otomatik yedekleme scriptleri, cron yapılandırması, rsync ile uzak yedekleme ve farklı oyun sunucuları için dünya dosyası yönetimini kapsar.
Yedekleme Stratejisi
3-2-1 Kuralı
- 3 kopya: Orijinal + 2 yedek
- 2 farklı ortam: Yerel disk + uzak sunucu
- 1 farklı lokasyon: Başka bir konumda yedek
Yedekleme Türleri
| Tür | Açıklama | Avantaj | Dezavantaj |
|---|---|---|---|
| Tam | Tüm dosyaları yedekler | Kolay geri yükleme | Büyük boyut |
| Artımlı | Sadece değişen dosyalar | Küçük boyut | Karmaşık geri yükleme |
| Farksal | Son tam yedekten beri değişenler | Orta boyut | Orta karmaşıklık |
Otomatik Yedekleme Scripti
Genel Amaçlı Yedekleme
nano ~/backup_gameserver.sh
#!/bin/bash
GAME_NAME=${1:-"gameserver"}
BACKUP_BASE="/home/steam/backups"
DATE=$(date +%Y%m%d_%H%M%S)
RETENTION_DAYS=7
LOG="/home/steam/backup.log"
declare -A SAVE_DIRS
SAVE_DIRS[minecraft]="/home/steam/minecraft/world /home/steam/minecraft/plugins"
SAVE_DIRS[rust]="/home/steam/rustserver/server/rust /home/steam/rustserver/oxide"
SAVE_DIRS[fivem]="/home/steam/fxserver/resources /home/steam/fxserver/server-data"
SAVE_DIRS[vrising]="/home/steam/vrising/save-data"
SAVE_DIRS[satisfactory]="/home/steam/satisfactory/.config/Epic/FactoryServer/Saved/SaveGames"
SAVE_DIRS[pz]="/home/steam/Zomboid/Saves /home/steam/Zomboid/Server"
SAVE_DIRS[enshrouded]="/home/steam/enshrouded/savegame"
BACKUP_DIR="$BACKUP_BASE/$GAME_NAME"
mkdir -p "$BACKUP_DIR"
echo "$(date): Starting $GAME_NAME backup..." >> $LOG
if [ -n "${SAVE_DIRS[$GAME_NAME]}" ]; then
tar -czf "$BACKUP_DIR/${GAME_NAME}_${DATE}.tar.gz" ${SAVE_DIRS[$GAME_NAME]} 2>/dev/null
if [ $? -eq 0 ]; then
SIZE=$(du -h "$BACKUP_DIR/${GAME_NAME}_${DATE}.tar.gz" | cut -f1)
echo "$(date): Backup successful - $SIZE" >> $LOG
else
echo "$(date): ERROR - Backup failed!" >> $LOG
fi
else
echo "$(date): ERROR - Unknown game: $GAME_NAME" >> $LOG
exit 1
fi
find "$BACKUP_DIR" -name "*.tar.gz" -mtime +$RETENTION_DAYS -delete
COUNT=$(find "$BACKUP_DIR" -name "*.tar.gz" | wc -l)
echo "$(date): Cleanup done. Current backup count: $COUNT" >> $LOG
chmod +x ~/backup_gameserver.sh
Cron Otomatik Yedekleme
Crontab Yapılandırması
crontab -e
# Her 4 saatte bir Minecraft yedekle
0 */4 * * * /home/steam/backup_gameserver.sh minecraft
# Her 6 saatte bir Rust yedekle
0 */6 * * * /home/steam/backup_gameserver.sh rust
# Günlük FiveM yedekleme
0 3 * * * /home/steam/backup_gameserver.sh fivem
# Günlük V Rising yedekleme
0 4 * * * /home/steam/backup_gameserver.sh vrising
# Haftalık tam yedekleme (Pazar 02:00)
0 2 * * 0 /home/steam/backup_full.sh
Cron İfade Rehberi
# dakika (0-59) | saat (0-23) | gün (1-31) | ay (1-12) | haftanın günü (0-7)
# * * * * * komut
rsync ile Uzak Yedekleme
rsync Kurulumu
sudo apt install rsync -y
Uzak Sunucuya Yedekleme
nano ~/remote_backup.sh
#!/bin/bash
REMOTE_HOST="backup.example.com"
REMOTE_USER="backup"
REMOTE_DIR="/backups/gameserver"
LOCAL_DIR="/home/steam/backups"
LOG="/home/steam/remote_backup.log"
echo "$(date): Starting remote backup..." >> $LOG
rsync -avz --delete \
-e "ssh -p 22 -i /home/steam/.ssh/backup_key" \
"$LOCAL_DIR/" \
"$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/"
if [ $? -eq 0 ]; then
echo "$(date): Remote backup successful." >> $LOG
else
echo "$(date): ERROR - Remote backup failed!" >> $LOG
fi
chmod +x ~/remote_backup.sh
crontab -e
0 5 * * * /home/steam/remote_backup.sh
rsync Parametreleri
| Parametre | Açıklama |
|---|---|
| -a | Arşiv modu (izinleri, tarihleri korur) |
| -v | Ayrıntılı çıktı |
| -z | Sıkıştırma |
| --delete | Kaynakta olmayan dosyaları hedeften sil |
| -e | SSH bağlantı parametreleri |
Dünya Dosyası Yönetimi
Minecraft Dünya Dosyaları
# Dünya dizinleri
~/minecraft/world/
~/minecraft/world_nether/
~/minecraft/world_the_end/
# Yedeklemeden önce kaydet
screen -S minecraft -p 0 -X stuff "save-all\n"
sleep 5
screen -S minecraft -p 0 -X stuff "save-off\n"
tar -czf ~/backups/minecraft/world_$(date +%Y%m%d).tar.gz ~/minecraft/world*
screen -S minecraft -p 0 -X stuff "save-on\n"
Rust Dünya Dosyaları
~/rustserver/server/rust/
~/rustserver/server/rust/player.blueprints.5.db
~/rustserver/server/rust/proceduralmap.*.sav
Geri Yükleme
Genel Geri Yükleme Adımları
# 1. Sunucuyu durdur
sudo systemctl stop gameserver
# 2. Mevcut dosyaları yedekle (güvenlik)
mv ~/gameserver/save ~/gameserver/save_old
# 3. Yedeği geri yükle
tar -xzf ~/backups/gameserver/gameserver_20250101_120000.tar.gz -C /
# 4. Sunucuyu başlat
sudo systemctl start gameserver
# 5. Logları kontrol et
sudo journalctl -u gameserver -f
Belirli Dosyaları Geri Yükleme
# Yedek içeriğini listele
tar -tzf ~/backups/gameserver/gameserver_20250101_120000.tar.gz
# Belirli dosyayı çıkart
tar -xzf ~/backups/gameserver/gameserver_20250101_120000.tar.gz home/steam/gameserver/config.ini
Yedekleme İzleme
# Yedek boyutlarını kontrol et
du -sh ~/backups/*/
# Son yedekleri listele
ls -lht ~/backups/minecraft/ | head -10
# Disk kullanımını kontrol et
df -h
Sonuç
Düzenli yedekleme, oyun sunucusu yönetiminin vazgeçilmez bir parçasıdır. Otomatik yedekleme scriptleri, cron zamanlaması ve rsync uzak yedekleme kullanarak verilerinizi güvende tutabilirsiniz. REXE VDS NVMe SSD altyapısı, hızlı yedekleme ve geri yükleme işlemleri sağlar.
İlgili Makaleler
FiveM Sunucusu Kurulumu: VDS'de Adım Adım Rehber
REXE VDS üzerinde FiveM sunucusu kurulumu, txAdmin yapılandırması, port ayarları ve performans optimizasyonu. GTA V roleplay sunucunuzu dakikalar içinde kurun.
Minecraft Sunucusu Kurulumu: Paper ile Adım Adım Rehber
REXE VDS üzerinde Paper/Spigot Minecraft sunucusu kurulumu, Java ayarları, plugin yönetimi ve performans optimizasyonu. Kendi Minecraft sunucunuzu kurun.
CS2 Sunucusu Kurulumu: SteamCMD ile Adım Adım Rehber
REXE VDS üzerinde Counter-Strike 2 dedicated sunucu kurulumu, SteamCMD, GSLT token ve sunucu yapılandırması. CS2 sunucunuzu hızlıca kurun.