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
Das „nofollow“-Tag wurde vor einigen Jahren von G...
Wenn das Softwarepaket nicht vorhanden ist, kann ...
Problem: Bei Verwendung von JDBC zur Verbindung m...
Vorwort Im vorherigen Artikel wurde die Installat...
Hier sind einige Probleme, die bei der Verwendung...
Inhaltsverzeichnis Frage: Fall (1) Fork vor dem E...
Wenn Threads gleichzeitig ausgeführt werden, müss...
1. Übergeordnetes Div definiert Pseudoklassen: af...
Als mir diese Frage gestellt wurde, war ich unwis...
Docker-Installation (Alibaba Cloud Server) Offizi...
So überprüfen Sie den Dateisystemtyp einer Partit...
Vorwort Das Schreiben effizienter SQL-Anweisungen...
Vorwort Leser, die mit MySQL vertraut sind, werde...
Vorwort Um zum Originalcode kompatibel zu sein, b...
Auf den Seiten von Webanwendungen werden häufig T...