Website-Suche

Wie ich grundlegende Aufgaben unter Linux mit Bash-Skripten automatisiere - und warum Sie es ausprobieren sollten


Verschwenden Sie keine Zeit mehr mit sich wiederholenden Aufgaben und lassen Sie Bash-Skripte die Arbeit für Sie erledigen.

Bash-Skripte sind ein Bereich von Linux, der dazu beiträgt, es zu dem Wunderwerk an Flexibilität und Effizienz zu machen, das es ist. Ich habe Bash-Skripte für fast alles verwendet, von Backups bis hin zur Benutzererstellung und vielem mehr, aber es gibt einen Bereich, in dem Bash-Skripte wirklich glänzen - Automatisierung.

Sie denken vielleicht, dass dies zu herausfordernd für Ihre Fähigkeiten ist, aber Sie werden überrascht sein, wie einfach es tatsächlich sein kann. Was ich tun werde, ist, Ihnen zu zeigen, wie Sie Bash-Skripte und das Linux-Terminal verwenden, um mehrere Linux-Maschinen gleichzeitig zu aktualisieren.

Sind Sie bereit dafür? Lass es uns tun.

So verwenden Sie Bash-Skripte, um Aufgaben unter Linux zu automatisieren

Was Sie dafür benötigen: Das Einzige, was Sie dafür benötigen, sind mindestens zwei oder drei Linux-Rechner (im selben LAN) und ein Benutzer mit sudo-Rechten. Das ist es.

1. Schreiben Sie das Skript

Öffnen Sie ein Terminalfenster und erstellen Sie das Skript mit dem folgenden Befehl:

nano updates.sh 

Fügen Sie Folgendes in die Datei ein:

#!/bin/bash 

Define your remote servers with comma-separated IP addresses servers=("SERVER1", "SERVER2")

Define the update command (make sure to edit this to conform to your package manager) update_command="sudo apt-get update && sudo apt-get upgrade -y"

Loop through each server and execute the update command for server in "${servers[@]}"; do echo "Updating server $server..." ssh USER@$server "$update_command" done

echo "Updates completed on all servers."

Dabei sind SERVER1 und SERVER2 die IP-Adressen der Remote-Computer und USER Ihr Remote-Benutzername.

Ich habe Kommentare in das Skript eingefügt, um zu erklären, was vor sich geht.

Speichern und schließen Sie die Datei.

2. Erteilen Sie der ausführbaren Skriptdatei Berechtigungen

Um das Skript auszuführen, müssen Sie ihm mit dem folgenden Befehl ausführbare Berechtigungen erteilen:

chmod u+x update.sh 

3. Generieren eines SSH-Schlüsselpaars

Falls Sie dies noch nicht getan haben, müssen wir ein SSH-Schlüsselpaar generieren, da wir die SSH-Schlüsselauthentifizierung verwenden werden. Geben Sie den folgenden Befehl ein, um Ihren Schlüssel zu erstellen:

ssh-keygen -t rsa 

Sie werden aufgefordert, ein Kennwort für den Schlüssel einzugeben und zu bestätigen. Stellen Sie sicher, dass Sie dies tun.

4. Kopieren Sie Ihren öffentlichen Schlüssel auf die Remote-Computer

Damit die SSH-Schlüsselauthentifizierung funktioniert, müssen Sie den öffentlichen Schlüssel auf alle Server kopieren, die von dem Skript profitieren. Geben Sie dazu den folgenden Befehl ein:

ssh-copy-id USER@SERVER 

Dabei ist USER Ihr Remote-Benutzername und SERVER die IP-Adresse für den ersten Server.

Führen Sie die gleiche Funktion für alle Server aus, mit denen Sie im Skript eine Verbindung herstellen werden.

5. Führen Sie ssh-agent aus

Damit dies erfolgreich funktioniert, müssen Sie eine ssh-agent-Sitzung starten, die Ihr SSH-Schlüsselkennwort vorübergehend speichert, damit Sie es nicht für jeden Server in der Liste eingeben müssen. Um eine Sitzung zu starten, geben Sie den Befehl

eval `ssh-agent` 

Fügen Sie als Nächstes Ihr SSH-Schlüsselkennwort hinzu mit:

ssh-add ~/.ssh/id_rsa 

Sie werden aufgefordert, Ihr SSH-Schlüsselkennwort einzugeben.

6. Führen Sie das Skript aus

Sie können das Skript nun mit dem folgenden Befehl ausführen:

./update.sh 

Sie werden nicht nach Ihrem Remote-Benutzerkennwort gefragt, da Sie sich in einer SSH-Agent-Sitzung befinden, die die Kennwortübergabe für Sie aushandeln kann. Es spielt keine Rolle, wie viele Server Sie für das Skript konfiguriert haben. Solange sie das SSH-Schlüsselpaar kennen und Sie das Passwort zur ssh-agent-Sitzung hinzugefügt haben, wird alles reibungslos ablaufen.

Sie können dieses Skript nun nach Belieben ändern, oder Sie können Ihre eigenen Skripte erstellen und SSH-Schlüsselauthentifizierung und ssh-agent verwenden, um den Automatisierungsprozess zu vereinfachen.

Verwandte Artikel