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:
|
<<: Beispielanalyse der MySQL-Benutzerrechteverwaltung
>>: Lernen Sie, wie Sie Uniapps und Miniprogramme (Bilder und Text) untervergeben
Inhaltsverzeichnis 1. Generieren Sie einen abstra...
Inhaltsverzeichnis Einführung in utf8mb4 Fehler b...
Inhaltsverzeichnis Vorwort 1. Setzen Sie den Prot...
Flex(彈性布局) in CSS kann das Layout einer Webseite ...
Ich bin auf ein sehr ungewöhnliches Problem mit ve...
Vor Kurzem mussten wir eine geplante Migration de...
Ergebnisse erzielen Implementierungscode html <...
Unter Bezugnahme auf die Online-Informationen hab...
1.MySQL-Funktionen 1. Mathematische Funktionen PI...
Dieser Artikel veranschaulicht anhand eines Beisp...
Vorwort Dieser Artikel konzentriert sich nur dara...
1. Unterschiede zwischen JSON.stringify() und JSO...
In vielen Fällen platzieren große und mittelgroße...
Dockerfile initialisieren Angenommen, unser Proje...
Zip-Installationsschritte für die MySQL 8-Windows...