Sobes.tech
Middle+

Ansible və Python-ə girişiniz olmadan çox sayda maşına proqramı necə quraşdırardınız?

sobes.tech Süni İntellekt

AI-dan cavab

Mən komanda sətiri skriptlərinin (Linux/Unix üçün Bash, Windows üçün Batch/PowerShell) və SSH/WinRM istifadə edərdim.

#!/bin/bash
# Linux-da SSH vasitəsilə proqram təminatını quraşdırmaq üçün nümunə skript

SOFTWARE_NAME="nginx"
REMOTE_HOSTS=("user@host1" "user@host2" "user@host3") # Uzaq hostların siyahısı

for host in "${REMOTE_HOSTS[@]}"; do
  echo "$host üzərində $SOFTWARE_NAME quraşdırılır..."
  ssh "$host" "sudo apt-get update && sudo apt-get install -y $SOFTWARE_NAME"
  if [ $? -eq 0 ]; then
    echo "$host üzərində $SOFTWARE_NAME uğurla quraşdırıldı"
  else
    echo "$host üzərində quraşdırma xətası"
  fi
done

Windows üçün:

# Windows-da WinRM vasitəsilə proqram təminatını quraşdırmaq üçün nümunə skript

$softwareName = "notepadplusplus" # Chocolatey paketinin nümunə adı
$remoteHosts = @("host1", "host2", "host3") # Uzaq hostların siyahısı

foreach ($host in $remoteHosts) {
  Write-Host "$host üzərində $softwareName quraşdırılır..."
  # Chocolatey istifadə nümunəsi (hədəf maşınlarda əvvəlcədən quraşdırılmış olmalıdır)
  Invoke-Command -ComputerName $host -ScriptBlock { choco install $using:softwareName -y }
  if ($?) {
    Write-Host "$host üzərində $softwareName uğurla quraşdırıldı"
  } else {
    Write-Host "$host üzərində quraşdırma xətası"
  }
}

Həmçinin istifadə oluna bilər:

  1. SSH açar əsaslı autentifikasiya: Parol sorğusuz avtomatlaşdırma üçün.
  2. Mərkəzləşdirilmiş fayl paylaması: Quraşdırma skriptlərinin və ya faylların maşınlara ötürülməsi.
  3. Cron/Task Scheduler: Quraşdırmanın müəyyən vaxtda və ya cədvələ uyğun icrası.
  4. PXE Boot: Əməliyyat sistemlərinin və əsas proqram təminatının sıfırdan qurulması üçün.
  5. Xüsusi Bash/Batch/PowerShell skriptləri: Quraşdırmadan sonra konfiqurasiya üçün daha mürəkkəb skriptlər.

Yanaşmaların müqayisəli cədvəli:

Metod Üstünlüklər Çatışmazlıqlar Tətbiq sahəsi
Bash/SSH Geniş yayılmış, sadə əsas ssenarilər üçün. İdarəetmə imkanları məhduddur, səhv idarəetməsi çətindir. Linux/Unix sistemləri.
Batch/PowerShell/WinRM Windows-in daxili vasitələri. SSH/Bash ilə müqayisədə daha az standartdır, WinRM konfiqurasiyası tələb edir. Windows sistemləri.
Mərkəzləşdirilmiş fayllar Böyük faylların yayılması üçün əlverişli. Əməliyyatların yerinə yetirilməsi üçün əlavə mexanizm tələb edir. Hər hansı sistemlər.
Cron/Task Scheduler Vaxt üzrə avtomatlaşdırma. İnteraktiv quraşdırma və ya əl ilə işə salma üçün uyğun deyil. Hər hansı sistemlər.
PXE Boot Sıfırdan qurulma üçün idealdır. Konfiqurasiya çətinliyi, işlək sistemlərdə təkrar istifadə məhduddur. Yeni və ya yenidən qurulan sistemlər.

Bu metodların tətbiqi diqqətli planlaşdırma, skriptlərin test edilməsi və etibarlı səhv idarəetmə və loglama mexanizmlərinin qurulmasını tələb edir. Skriptlərin versiya idarəetməsi də çox önəmlidir.