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
Zabbix Server-Umgebungsplattform Version: ZABBIX ...
1. Skip-Grant-Tables zur Datei my.ini hinzufügen ...
Es ist wirklich nicht einfach, eine gute Rekonstr...
Mysql5.5 Dual-Maschine-Hot-Standby Durchführung I...
Nur den oberen Rand anzeigen <table frame=above...
Vorwort Ich hatte kürzlich ein Problem bei der Ar...
Warum Server-Side Rendering (SSR) verwenden? Bess...
1. Was ist Docker? (1) Docker ist ein Open-Source...
Inhaltsverzeichnis DOMContentLoaded und laden Was...
Das <input>-Tag Das <input>-Tag wird ...
Vue-Router-Übergänge sind eine schnelle und einfa...
Fehlermeldung: FEHLER 2002: Verbindung zum lokale...
Umfeld Name Eigentum CPU x5650 Erinnerung 4G Sche...
Inhaltsverzeichnis Was ist Vuex? Vuex-Nutzungszyk...
In diesem Artikel wird die Verwendung von Docker ...