#!/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