Tüm cPanel hesaplarını otomatik olarak yedeklemek için:
# Tüm cPanel hesaplarının listesini al ve tek tek yedekle
for user in $(ls /var/cpanel/users/); do
/scripts/pkgacct $user
done
✅ Bu komut /home/cpmove-$user.tar.gz formatında yedek dosyaları oluşturur.
Yedekleri daha organize bir şekilde saklamak için:
# Yedekleri belirli bir dizine al
BACKUP_DIR="/backup/$(date +%Y%m%d)"
mkdir -p $BACKUP_DIR
for user in $(ls /var/cpanel/users/); do
/scripts/pkgacct --skiphomedir $user $BACKUP_DIR
done
# WHM'in otomatik yedek scriptini çalıştır
/usr/local/cpanel/bin/backup
# Kullanıcı listesi dosyasından oku
cat kullanici_listesi.txt | while read user; do
/scripts/pkgacct $user
done
# Yedekleri başka sunucuya kopyala
for user in $(ls /var/cpanel/users/); do
/scripts/pkgacct $user
rsync -avz /home/cpmove-$user.tar.gz root@yedek-sunucu:/yedek/dizini/
rm -f /home/cpmove-$user.tar.gz
done
--skiphomedir: Home dizinini yedekten çıkarır (sadece ayarlar)--skipacctdb: Hesap veritabanını atlar--skipbwdata: Bandwidth verilerini atlar--split: Büyük yedekleri böler#!/bin/bash
BACKUP_DATE=$(date +%Y%m%d)
BACKUP_DIR="/backup/$BACKUP_DATE"
LOG_FILE="/var/log/backup_$BACKUP_DATE.log"
mkdir -p $BACKUP_DIR
echo "Yedekleme başladı: $(date)" > $LOG_FILE
for user in $(ls /var/cpanel/users/); do
echo "Yedekleniyor: $user" >> $LOG_FILE
/scripts/pkgacct $user $BACKUP_DIR >> $LOG_FILE 2>&1
done
echo "Yedekleme tamamlandı: $(date)" >> $LOG_FILE
Script'i otomatik çalıştırmak için crontab'a ekleyin:
# Her gece saat 02:00'de yedek al
0 2 * * * /root/backup_script.sh
Script'i çalıştırılabilir yapın:
chmod +x /root/backup_script.sh