Bloga dön
Ocak 13, 2026Rehberler

Linux Sunucusunda Otomatik Yedeklemeler Nasıl Yapılandırılır

Dosyalar ve veritabanları için cron görevlerini kullanarak otomatik yedekleme betikleri oluşturmaya dair adım adım rehber.

Linux Sunucusunda Otomatik Yedeklemeler Nasıl Yapılandırılır

Düzenli yedeklemeler verilerinizi korumak için esastır. Bu rehber, Hiddence sunucunuzda kabuk betikleri (shell scripts) ve cron görevlerini kullanarak dosyalarınız ve veritabanlarınız için nasıl otomatik yedeklemeler ayarlayacağınızı gösterir.

Yedekleme Betiği Oluşturma

Dosyalarınız için bir yedekleme betiği oluşturun:

bash
sudo nano /usr/local/bin/backup.sh
#!/bin/bash
BACKUP_DIR="/backups"
SOURCE_DIR="/var/www"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/backup_$DATE.tar.gz $SOURCE_DIR
find $BACKUP_DIR -name "backup_*.tar.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/backup.sh

Cron Görevi Ayarlama

Cron kullanarak otomatik yedeklemeleri zamanlayın:

bash
sudo crontab -e
# Her gün gece saat 2'de yedekleme yapmak için bu satırı ekleyin
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

Veritabanı Yedekleme Betiği

MySQL veritabanı yedeklemeleri için betik oluşturun:

bash
sudo nano /usr/local/bin/db_backup.sh
#!/bin/bash
BACKUP_DIR="/backups/db"
DB_NAME="your_database"
DB_USER="root"
DB_PASS="your_password"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/db_backup_$DATE.sql
gzip $BACKUP_DIR/db_backup_$DATE.sql
find $BACKUP_DIR -name "db_backup_*.sql.gz" -mtime +7 -delete
sudo chmod +x /usr/local/bin/db_backup.sh

Uzaktan Yedekleme Depolama

Rsync veya SCP kullanarak yedekleri uzak sunucuya kopyalayın:

bash
#!/bin/bash
BACKUP_DIR="/backups"
REMOTE_HOST="backup-server.com"
REMOTE_USER="backup"
REMOTE_DIR="/backups"
rsync -avz -e ssh $BACKUP_DIR/ $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/

Yedek Saklama Politikası

Yedekleri belirli bir süre saklamak için tutma süresini yapılandırın:

bash
# Günlük yedekleri 7 gün sakla
find /backups -name "backup_*.tar.gz" -mtime +7 -delete

# Haftalık yedekleri 4 hafta sakla
find /backups/weekly -name "backup_*.tar.gz" -mtime +28 -delete

# Aylık yedekleri 12 ay sakla
find /backups/monthly -name "backup_*.tar.gz" -mtime +365 -delete

Yedekleme İçin En İyi Uygulamalar

  • Yedek geri yüklemeyi düzenli olarak test edin
  • Yedekleri birden fazla konumda saklayın
  • Hassas yedek verilerini şifreleyin
  • Hatalar için yedekleme günlüklerini izleyin
  • Yedekleme prosedürlerinizi belgeleyin
  • Yedekleme hataları için uyarılar ayarlayın