Merhabalar ,
Bir kaç arkadaşa destek verirken dikkatimi çekti manuel yedekleme alıyorlar.
veya eski model dediğimiz sh dosyasını kullanıyorlar.
Tercih meselesi tabi ben bu şekilde kullanıyorum kullanmak isteyen alabilir.
Bir kaç arkadaşa destek verirken dikkatimi çekti manuel yedekleme alıyorlar.
veya eski model dediğimiz sh dosyasını kullanıyorlar.
Tercih meselesi tabi ben bu şekilde kullanıyorum kullanmak isteyen alabilir.
Kod:
#!/bin/sh clear echo -e "\033[0;36m Your Transaction Begins \n Please Wait...\033[0m" # Yedekleme işlemi için geçici bir dizin oluştur temp_dir="/tmp/backup_`date +"%m-%d-%Y-%H-%M-%S"`" mkdir -p $temp_dir # MySQL yedeğini al cd /var/db tar cvzf $temp_dir/`date +"%m-%d-%Y-%H-%M-%S"`_mysql_backup.tgz mysql echo -e "\033[0;36m MySQL Backup Completed\033[0m" # Home yedeğini al cd /usr tar cvzf $temp_dir/`date +"%m-%d-%Y-%H-%M-%S"`_home_backup.tgz home echo -e "\033[0;36m Home Backup Completed\033[0m" # Yedekleri backup_home_mysql dizinine taşı backup_dir="/usr/backup_home_mysql" mkdir -p $backup_dir mv $temp_dir/* $backup_dir # Geçici dizini sil rm -rf $temp_dir clear echo -e "\033[0;36m Backup Process Completed Successfully: Files moved to $backup_dir\033[0m"
böyle bir klasör açmayı unutmayalım.
direk indirmek isteyen sağ üst köşeden indirebilir.
backup.sh Otomatik Yedek Aldırma
Metin2 Lobby platformu olarak Metin2 özel sunucularında otomatik yedek alma süreçleri, veri güvenliği açısından son derece kritik öneme sahiptir. Bu bağlamda, backup.sh adlı komut dosyası, geliştiricilerin sunucularındaki veritabanlarını, kaynak kodları ve yapılandırmaları düzenli aralıklarla otomatik olarak yedeklemesine olanak tanır. Bu yazıda, backup.sh dosyasının nasıl oluşturulacağı, nasıl çalıştığı ve Metin2 özel sunucularında nasıl entegre edileceği detaylı olarak ele alınacaktır.
Neden Otomatik Yedek Alınmalıdır?
Metin2 sunucularında çalışan veritabanları (örneğin MySQL), oyun dünyasındaki tüm karakter verileri, envanterler, seviye bilgileri gibi kritik verileri içerir. Herhangi bir donanım arızası, yazılım hatası veya insan kaynaklı hata durumunda bu verilerin kaybolması, sunucu sahipleri için felaketle sonuçlanabilir. Bu nedenle, otomatik yedekleme işlemleri, veri kaybını önlemek için zorunludur. backup.sh betiği sayesinde, bu işlem manuel olarak değil, sistem tarafından belirlenen zamanlarda otomatik olarak yapılır.
backup.sh Betiğinin Oluşturulması
Öncelikle, bir komut dosyası oluşturmak için Linux terminali kullanılır. Bu dosya genellikle /home/username/scripts/backup.sh gibi bir konumda tutulur. Betik aşağıdaki gibi basit bir yapıya sahip olabilir:
Kod:
#!/bin/bash[BR][/BR][BR][/BR]# Yedekleme dizini[BR][/BR]BACKUP_DIR='/home/username/backups'[BR][/BR][BR][/BR]# Tarih formatı[BR][/BR]DATE=$(date +%Y%m%d_%H%M%S)[BR][/BR][BR][/BR]# DB bilgileri[BR][/BR]DB_USER='root'[BR][/BR]DB_PASS='password'[BR][/BR]DB_NAME='metin2_game'[BR][/BR][BR][/BR]# Yedek alma komutu[BR][/BR]mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db_backup_$DATE.sql[BR][/BR][BR][/BR]# Game/Auth sunucu dosyalarını yedekleme[BR][/BR]tar -czf $BACKUP_DIR/server_files_$DATE.tar.gz /path/to/server/files[BR][/BR]
Yukarıdaki örnek betik[/COORD] şu işlemleri yapar: Veritabanını mysqldump komutu ile yedekler, sunucu dosyalarını tar.gz formatında sıkıştırır ve tarih damgasıyla birlikte yedekleme klasörüne kaydeder.
Crontab ile Zamanlanmış Yedek Alma[/COORD]
Otomatik yedek alımı sağlamak için crontab kullanılır. Örneğin, her gün saat 03:00’te yedek alınmasını istiyorsanız şu satır crontab’a eklenmelidir:
Kod:
0 3 * * * /home/username/scripts/backup.sh
Bu şekilde, backup.sh betiği her gün belirlenen saatte otomatik olarak çalışır.
Güvenlik Önlemleri
Yedek dosyaları hassas veriler içerdiğinden, erişimi kısıtlı ve şifrelenmiş bir konumda saklanmalıdır. Ayrıca, yedeklerin farklı bir sunucuda ya da bulut ortamında barındırılması da önerilir. Bu, fiziksel sunucu arızası durumunda veri kurtarma sürecini kolaylaştırır.
backup.sh ile İlgili Hatalar ve Çözümler
Bazı durumlarda, backup.sh komut dosyası çalışmayabilir. Bunun başlıca nedenleri şunlardır:
- Yetki eksikliği: Dosyanın çalıştırılabilir olması gerekir. Komut: chmod +x backup.sh
- MySQL kimlik doğrulama sorunu: Parola doğru girilmeli veya güvenli bir yöntemle saklanmalıdır.
- Disk alanı yetersizliği: Yedekleme yapılacak dizinde yeterli alan olmalıdır.
Sonuç
Metin2 özel sunucularında veri güvenliği, oyun deneyiminin sürekliliği açısından hayati öneme sahiptir. backup.sh gibi otomatik yedekleme betikleri, bu süreci kolaylaştırırken aynı zamanda sunucu yöneticilerinin iş yükünü azaltır. Doğru yapılandırıldığında, cron yardımıyla tamamen otomatik çalışan bu sistem, veri kaybı riskini minimize eder. Metin2 Lobby olarak, bu tür teknik çözümleri sunucu geliştiricileriyle paylaşarak topluluğun gelişmesine katkı sağlıyoruz.
Automatic Backup with backup.sh
Metin2 Lobby as a platform, automatic backup processes for Metin2 private servers are critical in terms of data security. In this context, the script named backup.sh allows developers to automatically back up their databases, source codes, and configurations at regular intervals. This article will detail how to create the backup.sh script, how it works, and how it can be integrated into Metin2 private servers.
Why Should Automatic Backups Be Taken?
The databases running on Metin2 servers (such as MySQL) contain all the critical data like character information, inventories, levels, etc. Any hardware failure, software error, or human mistake could result in the loss of these data, which could be catastrophic for server owners. Therefore, automatic backups are essential to prevent data loss. Thanks to the backup.sh script, this process is done automatically by the system at scheduled times rather than manually.
Creating the backup.sh Script
Firstly, a script file is created using the Linux terminal. This file is usually stored in a location such as /home/username/scripts/backup.sh. The script may have a simple structure like below:
Kod:
#!/bin/bash[BR][/BR][BR][/BR]# Backup directory[BR][/BR]BACKUP_DIR='/home/username/backups'[BR][/BR][BR][/BR]# Date format[BR][/BR]DATE=$(date +%Y%m%d_%H%M%S)[BR][/BR][BR][/BR]# Database credentials[BR][/BR]DB_USER='root'[BR][/BR]DB_PASS='password'[BR][/BR]DB_NAME='metin2_game'[BR][/BR][BR][/BR]# Backup command[BR][/BR]mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db_backup_$DATE.sql[BR][/BR][BR][/BR]# Backup game/auth files[BR][/BR]tar -czf $BACKUP_DIR/server_files_$DATE.tar.gz /path/to/server/files[BR][/BR]
The above script performs the following tasks: It backs up the database using the mysqldump command, compresses the server files into a tar.gz archive, and saves them in the backup folder with a timestamp.
Scheduled Backups with Crontab
To ensure automatic backups, crontab is used. For example, if you want to take backups every day at 03:00 AM, add the following line to crontab:
Kod:
0 3 * * * /home/username/scripts/backup.sh
In this way, the backup.sh script runs automatically every day at the specified time.
Security Measures
Since backup files contain sensitive data, they must be stored in a restricted access and encrypted location. Additionally, storing backups on a different server or in cloud storage is also recommended. This facilitates data recovery in case of physical server failure.
Errors Related to backup.sh and Solutions
Sometimes, the backup.sh script might not run properly. Common reasons include:
- Insufficient permissions: The file must be executable. Command: chmod +x backup.sh
- MySQL authentication issues: The password must be entered correctly or securely stored.
- Insufficient disk space: There must be enough space in the destination directory.
Conclusion
In Metin2 private servers, data security is vital for maintaining a continuous gaming experience. Scripts like backup.sh simplify this process while reducing the workload of server administrators. When properly configured, this system operates fully automatically via cron, minimizing the risk of data loss. As Metin2 Lobby, we contribute to the community's growth by sharing such technical solutions with server developers.
