CentOS verwendet expect, um Skripte und Befehle remote in Stapeln auszuführen

CentOS verwendet expect, um Skripte und Befehle remote in Stapeln auszuführen

Manchmal müssen wir Server stapelweise bedienen, z. B. eine Datei auf den Server hochladen, Software installieren, einen Befehl und ein Skript ausführen, Dienste neu starten, Server neu starten usw. Wenn wir sie einzeln manuell bedienen, ist das sehr umständlich und eine Verschwendung von Arbeitskraft.

Zu diesem Zeitpunkt können wir expect verwenden, um Anweisungen an den Zielserver zu senden und Batch-Operationen zu implementieren.

Das folgende Beispiel kopiert eine Datei auf CentOS stapelweise zu anderen Dienstanbietern und führt den entsprechenden Befehl aus

1. Installieren Sie expect auf centos

yum installieren erwarten

2. Schreiben Sie das erwartete Skript copyfilebatch.sh

Das folgende Skript kopiert eine rc.local-Datei auf die Server mit den Intranet-IP-Adressen 192.168.0.102 bis 192.168.0.112. Führen Sie nach erfolgreichem Kopieren den Befehl chmod aus, um die Server jeweils neu zu starten.

#!/usr/bin/expect -f
Passwort festlegen Root-Passwort

für {set i 102} {$i <= 112} {incr i} {
  setze IP "192.168.0.$i"
  setzt "$ip"


  spawn ssh -o StrictHostKeyChecking=no $ip
  Zeitüberschreitung 3 festlegen
  Erwarte „root@$ip’s Passwort:“
  Zeitüberschreitung 3 festlegen
  sende "$password\r"
  Zeitüberschreitung 3 festlegen
  sende "exit\r"


  spawn scp /home/install/rc.local root@$ip:/etc/rc.d/rc.local
  Zeitüberschreitung 3 festlegen
  Erwarte „root@$ip’s Passwort:“
  Zeitüberschreitung 3 festlegen
  sende "$password\r"
  Zeitüberschreitung 3 festlegen
  sende "exit\r"




  SSH-Root@$IP erzeugen

  erwarten {
  "*ja/nein" { sende "ja\r"; exp_weiter}
  "*Passwort:" { sende "$passwort\r" }
  }
  erwarten "#*"

  #Auszuführender Befehl: sende "chmod +x /etc/rc.d/rc.local\r"
  sende "reboot\r"
  sende "exit\r"
  Erwarte EOF
}

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Lösung für die Meldung „Syntaxfehler: Unerwartetes Dateiende“ beim Ausführen eines .sh-Skripts in CentOS7
  • Verwenden Sie crontab, um das Skript zur regelmäßigen Ausführung des JAR-Programms in centOS6 auszuführen
  • CentOS 6.5-Konfiguration: SSH-Anmeldung ohne Schlüssel zur Ausführung des PSSH-Befehls – Erläuterung
  • So führen Sie geplante PHP-Aufgaben in CentOS7 aus
  • Detaillierte Erläuterung der Verwendung von crontab zum regelmäßigen Ausführen von Aufgaben unter CentOS 7
  • Beheben Sie das Problem, dass /etc/rc.local beim Starten von centos7 nicht ausgeführt wird
  • So richten Sie eine geplante Aufgabe ein, um ein bestimmtes Skript in CentOS auszuführen

<<:  Beispielanalyse der MySQL-Benutzerrechteverwaltung

>>:  Lernen Sie, wie Sie Uniapps und Miniprogramme (Bilder und Text) untervergeben

Artikel empfehlen

So schreiben Sie den Nofollow-Tag und verwenden ihn

Das „nofollow“-Tag wurde vor einigen Jahren von G...

So installieren Sie Babel mit NPM in VSCode

Vorwort Im vorherigen Artikel wurde die Installat...

Bei der Verwendung von MySQL aufgetretene Probleme

Hier sind einige Probleme, die bei der Verwendung...

Einführung in Fork in Multithreading unter Linux

Inhaltsverzeichnis Frage: Fall (1) Fork vor dem E...

Eine vollständige Anleitung zum Löschen von Floats in CSS (Zusammenfassung)

1. Übergeordnetes Div definiert Pseudoklassen: af...

JS-Interviewfrage: Kann forEach aus der Schleife aussteigen?

Als mir diese Frage gestellt wurde, war ich unwis...

Linux Dateisystemtyp anzeigen Beispielmethode

So überprüfen Sie den Dateisystemtyp einer Partit...

Detaillierte Analyse des Explain-Ausführungsplans in MySQL

Vorwort Das Schreiben effizienter SQL-Anweisungen...

Eine kurze Analyse zum besten Umgang mit vergessenen MySQL 8-Passwörtern

Vorwort Leser, die mit MySQL vertraut sind, werde...

Detaillierte Erläuterung des Zeitdarstellungsbeispiels des Linux-Zeitsubsystems

Vorwort Um zum Originalcode kompatibel zu sein, b...

Adaptive Breitentabelle für HTML-Seiten

Auf den Seiten von Webanwendungen werden häufig T...