FiveM sunucusu nasıl yedeklenir: veritabanı, kaynaklar ve txData
FiveM sunucunuzu yedekleyin: mysqldump veya HeidiSQL veritabanı için, kaynaklar, server.cfg ve txData, zamanlanmış yedeklemeler, sunucu dışı kopyalar ve geri yükleme.
Disk ölür, kötü bir betik bir tabloyu düşürür, ev sahibi hesabınızı kapatır veya yanlış klasörü silersiniz. Sunucunun tek kopyası sunucuda ise, sıfırdan başlarsınız ve oyuncularınız karakterlerini kaybederler. Bu rehber neler yedeklemeli, nasıl otomatikleştirilmeli ve nasıl geri yüklenmeli.
Neler yedeklenmeli
| Ne | Neden | Nerede |
|---|---|---|
| Veritabanı | Karakterler, para, otolar, envanterler, oyuncuların sahip olduğu her şey | MariaDB veya MySQL |
server.cfg |
Sunucu ayarlarınız ve başlama sırası | sunucu veri klasörü |
resources klasörü |
Betikleriniz ve yapılandırma dosyaları | sunucu veri klasörü |
| txData | txAdmin ayarları, yönetici hesapları, yasaklama geçmişi ve işlem günlüğü | txData klasörü |
FiveM sunucu ikilileri (eserler) yedeklemeye ihtiyaç duymaz. Bunları yeniden indirebilirsiniz; bkz. sunucu eserlerini güncelleme.
Dikkat:
server.cfg, lisans anahtarı, veritabanı şifresi ve Discord belirteçlerini tutabilir. Yedeklemeleri özel tutun ve hiçbir zaman halka açık bir yere yayınlamayın.
Veritabanını yedekleyin
mysqldump ile
mysqldump, MariaDB ve MySQL ile birlikte gelir. Kullanıcı ve veritabanı adını sizinle değiştirin:
mysqldump -u root -p --single-transaction --routines --databases es_extended > backup.sql--single-transaction, sunucuyu kilitlemeden InnoDB tablolarının tutarlı bir kopyasını alır.--routinessaklı prosedürleri içerir.--databases,CREATE DATABASEdeyimini ekler, bu nedenle geri yükleme daha basitdir.
Tarihi dosya adına koyun, böylece kopyalar birbirini üzerine yazmaz:
mysqldump -u root -p --single-transaction --routines --databases es_extended > "backup_$(date +%F).sql"Parola istemi olmadan çalıştırmak için kimlik bilgilerini korumalı bir seçenek dosyasında depolayın (örneğin Linux'ta ~/.my.cnf) komutla yazıp yazmak yerine.
HeidiSQL ile
Grafik bir araç tercih ederseniz:
- HeidiSQL'de sunucuya bağlanın.
- Veritabanının sağ tarafındaki düğmesine basın ve Veritabanını SQL olarak dışa aktarın seçeneğini seçin.
- Tüm tabloları seçin, yapı için Oluştur ve veri için Ekle seçin ve hedef dosyayı seçin.
- Dışa aktar'a tıklayın.
Riskli değişikliklerden önce bunu elle yapın. Düzenli yedeklemeler için otomatikleştirin.
Dosyaları yedekleyin
Tutmak istediğiniz klasörleri sıkıştırın:
tar -czf server_files_$(date +%F).tar.gz server.cfg resources txDataWindows'ta, PowerShell aynı şeyi yapabilir:
Compress-Archive -Path server.cfg, resources, txData -DestinationPath "server_files_$(Get-Date -Format yyyy-MM-dd).zip"Bu öğeleri tutan klasörden çalıştırın veya tam yollar kullanın. Yedeklemeleriniz çok büyürse önbellek klasörlerini atlayın; sunucu çalıştığında yeniden oluşturulurlar.
Çizelge yapın
Linux: cron
Crontab'ı crontab -e ile açın ve bir satır ekleyin. Bu, dökümü her gün 04:00'de çalıştırır:
0 4 * * * mysqldump --single-transaction --routines --databases es_extended > /backups/db_$(date +\%F).sqlCrontab içinde % yüzde işareti olarak \% olmalıdır. Bunu çalıştıran kullanıcının yukarıda açıklandığı gibi bir seçenek dosyası aracılığıyla veritabanına erişimi gerekir.
Windows: Görev Zamanlayıcı
Yedekleme komutlarını backup.ps1 betiğine kaydedin, ardından günlük bir görev oluşturun:
schtasks /Create /SC DAILY /ST 04:00 /TN "FiveM backup" /TR "powershell -ExecutionPolicy Bypass -File C:\fivem\backup.ps1"Veya Görev Zamanlayıcı uygulamasını kullanın: temel bir görev oluşturun, günlük bir tetikleyici ayarlayın ve betiği eylem olarak seçin.
Birkaç oyuncu çevrimiçi olduğunda, örneğin zamanlanmış yeniden başlatmadan hemen önce bir zaman seçin.
Eski yedeklemeleri silin
Yedeklemeler yığılır. Örneğin son 7 günlük kopyayı ve birkaç haftalık kopyayı tutun. Betikte küçük bir temizlik yeterlidir:
find /backups -name "db_*.sql" -mtime +14 -deleteYedeklemeleri sunucudan uzak tutun
Kural basittir: aynı makinada yaşayan bir yedek gerçek bir yedek değildir. Her çalıştırmadan sonra başka bir yere kopyalayın:
- SSH üzerinden
scpveyarsyncile başka bir sunucu veya ev makinesi, rclonegibi bir araçla bulut depolama hizmeti,- aynı makinenin parçası olmayan farklı bir disk; en azından.
Kopyaların varış noktasına ulaşıp ulaşmadığını test edin. Destinasyonu zaman zaman kontrol edin.
Yedeklemeyi geri yükleyin
Hiçbir zaman geri yüklemediğiniz bir yedek bir umut, yedek değil. Şimdi bir test veritabanında geri yüklemeyi deneyin.
- FiveM sunucusunu txAdmin'den durdurun, böylece geri yükleme sırasında hiçbir şey yazılmaz.
- Veritabanını geri yükleyin:
mysql -u root -p < backup.sqlDöküm --databases kullandığı için veritabanının kendisini yeniden oluşturur. HeidiSQL ile dışa aktardıysanız, araçta SQL dosyasını çalıştır'ı seçin ve dosyayı seçin.
server.cfgveresourcesklasörünü geri koyun ve txAdmin kaybedildiysetxDataklasörünü.- Sunucuyu başlatın ve konsolu veritabanı hataları için izleyin. Bağlantı başarısız olursa oxmysql bağlantı hataları bölümüne bakın.
Geri yükleme, bu tablolardaki mevcut verileri üzerine yazar, bu nedenle bunu amaçlı olarak yapın ve ilk önce geçerli durumun bir kopyasını tutun.
Her değişiklikten önce
Çerçeveyi güncellemeden, tabloları düzenleyen bir betik eklemedeniz veya bir indirmeden SQL dosyası çalıştırmadan önce hızlı bir el dökümü alın. Saniyeler alır ve birçok sorunu kaydeder.
Kontrol Listesi
| Semptom | Çözüm |
|---|---|
| Hiç yedek yok | Bugün mysqldump çalıştırın, sonra zamanlayın |
| Döküm zamanlanmış işte parola istiyor | Komutla yazıp yazmak yerine kimlik bilgileriyle seçenek dosyası kullanın |
| Yedeklemeler yalnızca sunucuda | Başka bir makineye veya depolamaya kopyalayın |
| Disk doluyor | Saklama sürenizden daha eski yedeklemeleri silin |
| txAdmin ayarları veya yöneticileri kayboldu | txData klasörünü geri yükleyin |
| İçe aktarmada geri yükleme başarısız | SQL dosyasının tam olduğunu ve veritabanı kullanıcısının haklara sahip olduğunu kontrol edin |
| Yedeklemenin çalışıp çalışmadığından emin değil | Bir test veritabanına geri yükleyin ve tabloları kontrol edin |
Kısa yanıtlar
Yedeklemek için en önemli şey nedir?
Veritabanı. Karakterler, para, otolar ve envanterler orada yaşarlar ve onları yeniden oluşturamaz. Kaynaklar ve yapılandırma yeniden indirilebilir veya yeniden oluşturulabilir, ancak oyuncu verileri olamaz.
Ne sıklıkta yedeklemelidim?
Veritabanını en az günde bir kez yedekleyin ve her güncellemeden veya büyük betik değişikliğinden önce. Meşgul bir sunucu bunu birkaç saatte çalıştırabilir.
Aynı makinedeki bir yedek yeterli mi?
Hayır. Disk arızası, silinen sunucu veya kötü amaçlı yazılım saldırısı yedeklemeyi de alır. Yedeklemeleri başka bir makineye veya depolama hizmetine kopyalayın.
Bu sorunu yaşatmayan scriptler
Tebex TemplateTebex mağazanız için kod gerektirmeyen premium tema; tamamen Tebex panelinden düzenlenir.Scripti gör →
Item Creator V2Animasyonlar, proplar, efektler ve daha fazlasıyla kullanılabilir eşyalar oluşturun — kod yazmadan.Scripti gör →
Shop CreatorBir dakikadan kısa sürede dükkân kurun — sahipler, çalışanlar, kasalar ve soygunlar dahil.Scripti gör →