WHM'de barınan tüm sitelerimin yedeğini nasıl alırım?
5
●190
- 04-08-2024, 18:30:27WHM üzerinde yer alan Yedekleme Yapılandırması kısmından yedekleme görevi oluşturabilirsiniz. Yedeklerin oluşacağı dizini set edebilirsiniz. cPanelde bu cron default gece 2 de çalışır.
Veya ssh üzerinden toplu site / kullanıcı yedekleme komutları koşturup yedeğin /home/ dizini altına alınmasını sağlayabilirsiniz. Örnek;
for i in $(ls /var/cpanel/users); do /scripts/pkgacct $i;done
gibi ..
Eğer bunların hiç biri değil de sadece /home/user/public_html ve bağlı .sql leri yedekletecek iseniz ve başka bir ilave yedekleme düşünmüyor iseniz ssh üzerinden bir bash script yazdırarak da aldırabilirsiniz.
Uzak yedekleme düşünüyor isenizde googlederive, jetbackup gibi eklentilere bakabilirsiniz. - 04-08-2024, 19:54:37Çok teşekkür ederim bash işimi görecek gibi duruyorCliaWeb adlı üyeden alıntı: mesajı görüntüle
- 04-08-2024, 23:48:22şu belki işinizi görürKirksekiz adlı üyeden alıntı: mesajı görüntüle
#!/bin/bash # Yedekleme dizini YEDEK_DIZINI="/path/to/backup_directory" mkdir -p $YEDEK_DIZINI # Yedekleme için tarih TARIH=$(date +%F) # WHM'den kullanıcı listesi almak için KULLANICILAR=$(ls /var/cpanel/users) # Her kullanıcı için döngü for KULLANICI in $KULLANICILAR; do # Mevcut kullanıcı için bir dizin oluştur KULLANICI_YEDEK_DIZINI="$YEDEK_DIZINI/$KULLANICI-$TARIH" mkdir -p $KULLANICI_YEDEK_DIZINI # public_html dizinini yedekle tar -czf "$KULLANICI_YEDEK_DIZINI/public_html.tar.gz" /home/$KULLANICI/public_html # Kullanıcının veritabanlarını al VERITABANLARI=$(mysql -e "SHOW DATABASES LIKE '${KULLANICI}\_%';" -s --skip-column-names) # Her veritabanı için döngü for VERITABANI in $VERITABANLARI; do # Veritabanını yedekle mysqldump $VERITABANI > "$KULLANICI_YEDEK_DIZINI/$VERITABANI.sql" done done echo "Yedekleme işlemi tamamlandı!"chmod +x yedekleme.sh ./yedekleme.sh