الخميس في ٠٢:٤٦
صاحب الموضوع
MySQL yedekleme işlemlerinde dosyanın boyutunu küçültmek ve depolama alanını optimize etmek açısından gzip sıkıştırma oldukça faydalıdır. Ancak, bu işlemi manuel değil de otomatikleştirmek, zaman ve emek tasarrufu sağlar. Bu noktada, Linux ortamında cron tabanı ve bash scripting kullanarak, yedekleme ve sıkıştırma işlemini otomatik hale getirmek en yaygın ve etkili yöntemdir.
Birçok sistem yöneticisi, düzenli yedekleme işlemlerini planlarken, sıkıştırma aşamasını da otomatikleştirilmiş hale getirir. Bu sürecin temel aşaması, mysqldump komutuyla yedek alınması ve ardından gzip komutunun kullanılmasıdır. Örneğin, aşağıdaki script bu işlemi tek satırda ve otomatik olarak gerçekleştirir:
12345678
#!/bin/bash
[b]Yedekleme ve sıkıştırma scripti[/b]
YEDEK_DIR="/yedekler"
TARIH=$(date +"%Y%m%d%H%M")
YEDEK_DOSYASI="$YEDEK_DIR/mysql_backup_$TARIH.sql"
mysqldump -u KULLANICI_ADI -pŞİFRE VERITABANI > "$YEDEK_DOSYASI"
gzip "$YEDEK_DOSYASI"
Burada dikkat edilmesi gereken noktalar:
- mysqldump komutuna uygun kullanıcı adı ve şifre girilmeli, güvenlik açısından şifre doğrudan komutta yazmak yerine, my.cnf gibi dosyalar kullanmak daha güvenlidir.
- Yedeklerin saklanacağı dizin belirlenmeli ve yeterli disk alanı olmalı.
- Cron kullanılarak, bu script belirli aralıklarla otomatik çalıştırılabilir. Örneğin, günlük veya saatlik yedekleme için cron tablosuna eklenebilir.
İşte cron tablosu örneği (günde bir kez saat 2’de çalıştırmak için):
12
0 2 * * * /path/to/backup_script.sh
Bu yöntem, yedekleme ve sıkıştırma sürecini güvenli ve düzenli hale getirir. Ayrıca, sıkıştırılmış yedeklerin boyutunu düşürerek, yedekleme ve geri yükleme süresini optimize eder. Siz de kendi ortamınıza uygun şekilde bu scripti ve cron ayarlarını düzenleyerek, otomatik ve güvenilir yedekleme altyapısı kurabilirsiniz.
Sizlerin bu konuda deneyimi veya ek önerileri varsa, paylaşmak ister misiniz?