400 tane domain aldım sunucuya eklemem lazım tek tek eklemektense toplu eklemek istiyorum
bana bu konuda yardımcı olabilecek yol gösterebilecek kimse var mı
05350579988 watsap
WHM Toplu Domain Ekleme Konusunda Yardım!
3
●134
- Dün, 07:37:51
- Dün, 08:17:12Merhaba,LINK_SATISI adlı üyeden alıntı: mesajı görüntüle
Yöntem 1 :
whmapi1 createacct döngüsü ile yapabilirsiniz ;
#!/bin/bash # /root/toplu_hesap.sh CSV="/root/domains.txt" # her satırda bir domain PLAN="baslangic" # WHM'deki paket adı (WHM > Packages) EMAIL="admin@mailadresi.com" LOG="/root/toplu_hesap.log" OUT="/root/hesap_bilgileri.csv" echo "domain,kullanici,sifre" > "$OUT" while read -r domain; do domain=$(echo "$domain" | tr -d '\r' | xargs | tr 'A-Z' 'a-z') [ -z "$domain" ] && continue # kullanıcı adı üret (cPanel: max 16 karakter, harfle başlamalı) base=$(echo "${domain%%.*}" | tr -dc 'a-z0-9' | cut -c1-8) [ -z "$base" ] && base="user" case "$base" in [0-9]*) base="u$base";; esac user="${base}$RANDOM"; user=$(echo "$user" | cut -c1-16) while id "$user" &>/dev/null; do user="${base}$RANDOM"; user=$(echo "$user" | cut -c1-16) done pass=$(openssl rand -base64 24 | tr -dc 'A-Za-z0-9' | cut -c1-16) res=$(whmapi1 createacct username="$user" domain="$domain" \ password="$pass" plan="$PLAN" contactemail="$EMAIL" \ --output=json 2>&1) if echo "$res" | grep -Eq '"result" *: *"?1"?'; then echo "[OK] $domain -> $user" | tee -a "$LOG" echo "$domain,$user,$pass" >> "$OUT" else echo "[HATA] $domain :: $res" | tee -a "$LOG" fi sleep 3 done < "$CSV"Çalıştırma (kopmaması için mutlaka screen içinde):
chmod +x /root/toplu_hesap.sh screen -S toplu /root/toplu_hesap.sh # Ctrl+A, D ile ayrıl; screen -r toplu ile geri dön
400 hesap ≈ 30–45 dakika sürer. Şifreler /root/hesap_bilgileri.csv içinde kalır.
Apache restart yükü: WHM > Tweak Settings > "Number of seconds to wait before restarting Apache" değerini 60–300 yapın, yoksa her hesapta konfigürasyon derlenir ve sunucu boğulur.
Yöntem 2:
En kolay yol: WHM > Terminal'e tek satır yapıştır SSH bile gerekmiyor. WHM > Server Configuration > Terminal'i açın.
while read d; do d=$(echo $d|tr -d '\r'); [ -z "$d" ] && continue; u=$(echo ${d%%.*}|tr -dc a-z0-9|cut -c1-8)$RANDOM; u=${u:0:16}; p=$(openssl rand -hex 8); whmapi1 createacct username=$u domain=$d password=$p plan=PAKETADI contactemail=info@mailadresi.com >/dev/null; echo "$d,$u,$p" >> /root/liste.csv; echo "bitti: $d"; sleep 3; done < /root/domains.txtPAKETADI yerine WHM > Packages'taki paket adını yazın. Sonuç /root/liste.csv dosyasında.
Hepsi tek hesap altına addon domain olacaksa onun da tek satırı:
while read d; do d=$(echo $d|tr -d '\r'); [ -z "$d" ] && continue; cpapi2 --user=KULLANICI AddonDomain addaddondomain dir="public_html/$d" newdomain=$d subdomain=$(echo $d|tr -dc a-z0-9); done < /root/domains.txt
iyi çalışmalar.