#!/bin/bash
# WHM Yedekleme Dizini
BACKUP_DIR="/backup"
# FTP Sunucusu Bilgileri
FTP_HOST="ftp.example.com"
FTP_PORT="21"
FTP_USER="ftp_user"
FTP_PASS="ftp_password"
FTP_DEST_DIR="/remote-backup"
# Log Dosyası
LOG_FILE="/var/log/ftp_backup.log"
# Tarih
DATE=$(date '+%Y-%m-%d_%H-%M-%S')
# Yedekleme Başlangıcı
echo "[$DATE] Yedekleme işlemi başlatılıyor..." >> $LOG_FILE
# WHM yedekleme işlemi başlatılıyor
curl -s -H "Authorization: whm root:YOUR_WHM_API_KEY"
"https://your-server-ip:2087/json-api/cpanel?cpanel_jsonapi_module=Backup&cpanel_jsonapi _func=startbackup"
>> $LOG_FILE 2>&1
if [ $? -ne 0 ]; then
echo "[$DATE] WHM yedekleme başlatılamadı!" >> $LOG_FILE
exit 1
fi
# Yedekleme dizinini kontrol et
if [ ! -d "$BACKUP_DIR" ]; then
echo "[$DATE] Yedekleme dizini bulunamadı: $BACKUP_DIR" >> $LOG_FILE
exit 1
fi
# FTP'ye yükleme işlemi
echo "[$DATE] Yedekler FTP sunucusuna yükleniyor..." >> $LOG_FILE
lftp -u "$FTP_USER,$FTP_PASS" -p $FTP_PORT $FTP_HOST <<EOF
mirror -R $BACKUP_DIR $FTP_DEST_DIR
quit
EOF
if [ $? -ne 0 ]; then
echo "[$DATE] FTP yükleme başarısız oldu!" >> $LOG_FILE
exit 1
fi
echo "[$DATE] Yedekleme işlemi başarıyla tamamlandı!" >> $LOG_FILE
———
Script’in Açıklamaları
1. WHM Yedekleme Dizini:
• BACKUP_DIR="/backup" WHM’nin yedeklerini depoladığı dizindir. WHM Backup Configuration kısmından bu dizini kontrol edebilirsiniz.
2. FTP Sunucusu Bilgileri:
• FTP sunucusunun adresi, port numarası, kullanıcı adı ve şifresi girilir.
• FTP_DEST_DIR ile yedeklerin FTP sunucusunda kaydedileceği dizin belirtilir.
3. Loglama:
• Tüm işlemler /var/log/ftp_backup.log dosyasına kaydedilir.
• Hata durumlarında script işlemi durdurur.
4. WHM Backup Başlatma:
• WHM API kullanılarak yedekleme işlemi başlatılır.
• YOUR_WHM_API_KEY kısmına WHM’den oluşturduğunuz API anahtarını yerleştirin.
created by chatgpt… Deneyebilirsiniz veya daha da genişletebilirsiniz scripti