Fabric - Automatisieren Sie Ihre Linux -Verwaltungsaufgaben und Anwendungsbereitstellungen über SSH
- 2987
- 505
- Miriam Bauschke
Wenn es um die Verwaltung von Remote -Maschinen und zur Bereitstellung von Anwendungen geht, gibt es einige Befehlszeilen -Tools, obwohl viele ein gemeinsames Problem des Mangels an detaillierter Dokumentation haben.
In diesem Leitfaden werden wir die Schritte zur Einführung und Einführung der Verwendung von Stoffs zur Verbesserung der Verabreichung von Serverngruppen abdecken und beginnen.
Automatisieren Sie Linux -Administrationsaufgaben mit StoffStoff ist eine Python -Bibliothek und ein leistungsstarkes Befehlszeilen -Tool zum Ausführen von Systemverwaltungsaufgaben wie die Ausführung von SSH -Befehlen für mehrere Maschinen und Anwendungsbereitstellung.
Lesen Sie auch: Verwenden Sie Shell Scripting, um Linux -Systemwartungsaufgaben zu automatisieren
Ein Arbeitswissen über Python kann bei der Verwendung hilfreich sein Stoff, kann aber sicher nicht notwendig sein.
Gründe, warum Sie den Stoff für andere Alternativen wählen sollten:
- Einfachheit
- Es ist gut dokumentiert
- Sie müssen keine andere Sprache lernen, wenn Sie bereits ein Python -Typ sind.
- Einfach zu installieren und zu verwenden.
- Es ist schnell in seinen Operationen.
- Es unterstützt die parallele Fernausführung.
So installieren Sie das Stoffautomatisierungswerkzeug unter Linux
Ein wichtiges Merkmal über Stoff ist, dass die Remote -Maschinen, die Sie verwalten müssen. Sie benötigen nur bestimmte Anforderungen auf dem Server, von dem Sie die Remote -Server verwalten, bevor Sie loslegen können.
Anforderungen:
- Python 2.5+ mit den Entwicklungsheadern
- Python-Setuptools und PIP (optional, aber bevorzugt) GCC
Stoff wird einfach mit der Installation mit der Installation mit Pip (Sehr empfohlen), aber Sie können es jedoch auch vorziehen, Ihr Standardpaket-Manager-Yum, DNF oder APT-GET zum Installieren von Fabric-Paket zu auswählen, das normalerweise auf dem Namen ist Stoff oder Python-Fabric.
Für Rhel/Centos Basierte Verteilungen müssen das Repository von Epel installieren und aktivieren, um das Stoffpaket zu installieren.
# yum install stab (on Redhat -basierte Systeme] # DNF Installieren Sie Stoff [auf Fedora 22+ -version]
Für Debian Und es sind Derivate wie Ubuntu Und Minze Benutzer können einfach tun apt-get So installieren Sie das Stoffpaket wie gezeigt:
# APT-GET-Stoff installieren
Wenn Sie die Entwicklungsversion von Fabric installieren möchten, können Sie verwenden Pip um den neuesten Master -Zweig zu erfassen.
# yum install Python-pip [auf Redhat-basierten Systemen] # DNF Installieren Sie Python-Pip [auf Fedora 22+ -version] # APT-Get-Installieren Sie Python-Pip [auf Debian-basierten Systemen]
Sobald PIP erfolgreich installiert wurde, können Sie PIP verwenden, um die neueste Version von Fabric wie gezeigt zu erfassen:
# PIP Stoff installieren
So verwenden Sie Stoff, um Linux -Administrationsaufgaben zu automatisieren
Beginnen wir also, wie Sie Stoff verwenden können. Während des Installationsprozesses rief ein Python -Skript auf fabelhaft
wurde zu einem Verzeichnis in Ihrem Weg hinzugefügt. Der fabelhaft Das Skript erledigt die gesamte Arbeit bei der Verwendung von Stoff.
Ausführungsbefehle auf dem lokalen Linux -Computer ausführen
Mit der Konvention müssen Sie zunächst eine Python -Datei erstellen Fabafile.py
Verwenden Sie Ihren Lieblingsredakteur. Denken Sie daran, dass Sie dieser Datei nach Belieben einen anderen Namen geben können, aber Sie müssen den Dateipfad wie folgt angeben:
# Fabric -Fabfile/Pfad/to/die/Datei.py
Stoff verwendet Fabafile.py
Aufgaben ausführen. Das FabFile sollte sich im selben Verzeichnis befinden, in dem Sie das Stoffwerkzeug ausführen.
Beispiel 1: Lassen Sie uns eine Basis erstellen Hallo Welt
Erste.
# VI FABFILE.py
Fügen Sie diese Codezeilen in die Datei hinzu.
Def hello (): print ('Hallo Welt, Tecmint -Community')
Speichern Sie die Datei und führen Sie den folgenden Befehl aus.
# Fab HelloStoffwerkzeugverbrauch
Schauen wir uns nun ein Beispiel von a an Fabafile.py um die auszuführen Betriebszeit Befehl auf der lokalen Maschine.
Beispiel 2: Öffnen Sie eine neue Fabafile.py Datei wie folgt:
# VI FABFILE.py
Und fügen Sie die folgenden Codezeilen in die Datei ein.
#! /usr/bin/env Python aus Stoff.API importieren lokaler Def -UPTIME (): Lokal ('Uptime')
Speichern Sie dann die Datei und führen Sie den folgenden Befehl aus:
# fabelhafte VerfügbarkeitStoff: Überprüfen Sie die Laufzeit des Systems
Ausführen von Befehlen auf Remote -Linux -Maschinen zur Automatisierung von Aufgaben
Der Stoff API Verwendet ein Konfigurationswörterbuch, das Pythons Äquivalent eines assoziativen Arrays ist, das als bekannt ist env
, die Werte speichert, die steuern, was Stoff tut.
Der env.Gastgeber
ist eine Liste von Servern, auf denen Sie Fabric -Aufgaben ausführen möchten. Wenn Ihr Netzwerk ist 192.168.0.0 und möchte Host verwalten 192.168.0.2 Und 192.168.0.6 mit Ihrem Fabafile, Sie können die konfigurieren env.Gastgeber folgendermaßen:
#!/usr/bin/env Python aus Stoff.API Import Env env.Hosts = ['192.168.0.2 ',' 192.168.0.6 ']]
Die obige Codezeile gibt nur die Hosts an, auf denen Sie Stoffaufgaben ausführen, aber nichts mehr tun. Daher können Sie einige Aufgaben definieren, Stoff bietet eine Reihe von Funktionen, mit denen Sie mit Ihren Fernmaschinen interagieren können.
Obwohl es viele Funktionen gibt, sind die am häufigsten verwendeten:
- laufen - Dadurch wird ein Shell -Befehl auf einer Remote -Maschine ausgeführt.
- lokal - Welcher Befehl auf der lokalen Maschine ausführt.
- sudo - Dies führt einen Shell -Befehl auf einer Remote -Maschine mit Root -Privilegien aus.
- Erhalten - Welches eine oder mehrere Dateien von einem Remote -Computer herunterlädt.
- Setzen - Dies lädt eine oder mehrere Dateien in einen Remote -Computer hoch.
Beispiel 3: Um eine Nachricht auf mehreren Maschinen wiederzugeben, erstellen Sie a Fabafile.py
wie das unten unten.
#!/usr/bin/env Python aus Stoff.API Import Env, Run Env.Hosts = ['192.168.0.2 ',' 192.168.0.6 '] def echo (): run ("echo -n' Hallo, du bist auf tecmint '" ")
Führen Sie den folgenden Befehl aus, um die Aufgaben auszuführen:
# Fab EchoStoff: Automatisieren Sie Linux -Aufgaben unter Remote Linux
Beispiel 4: Sie können die verbessern Fabafile.py
was Sie früher erstellt haben, um die auszuführen Betriebszeit Befehl auf der lokalen Maschine, damit es die ausführt Betriebszeit Befehl und überprüft auch die Disk -Nutzung mit dem Befehl df auf mehreren Maschinen wie folgt:
#!/usr/bin/env Python aus Stoff.API Import Env, Run Env.Hosts = ['192.168.0.2 ',' 192.168.0.6 '] def optime (): run (' Uptime ') def disk_space (): run (' df -h ')
Speichern Sie die Datei und führen Sie den folgenden Befehl aus:
# FAB UPTIME # FAB DISK_SPACEStoff: Automatisieren Sie Aufgaben auf mehreren Linux -Systemen
Bereiten Sie den Lampenstapel automatisch auf dem Remote -Linux -Server ein
Beispiel 4: Lassen Sie uns ein Beispiel für die Bereitstellung betrachten LAMPE (Linux, Apache, MySQL/Mariadb und PHP) Server auf einem Remote -Linux -Server.
Wir werden eine Funktion schreiben, mit der Lampe mit Root -Berechtigungen remote installiert werden kann.
Für Rhel/Centos und Fedora
#!/usr/bin/env Python aus Stoff.API Import Env, Run Env.Hosts = ['192.168.0.2 ',' 192.168.0.6 '] DEF DEPOLY_LAMP (): run ("yum install -y httpd mariadb-server PHP-MYSQL"))
Für Debian/Ubuntu und Linux Mint
#!/usr/bin/env Python aus Stoff.API Import Env, Run Env.Hosts = ['192.168.0.2 ',' 192.168.0.6 '] DEF DEPLOUS_LAMP (): sudo ("APT-Get Install -q Apache2 MySQL-Server Libapache2-mod-Php5 PHP5-MYSQL"))
Speichern Sie die Datei und führen Sie den folgenden Befehl aus:
# Fab Deploy_Lamp
Notiz: Aufgrund der großen Ausgabe ist es für uns nicht möglich, einen Screencast (animiertes GIF) für dieses Beispiel zu erstellen.
Jetzt können Sie Linux Server -Verwaltungsaufgaben mithilfe von Fabric und seinen Funktionen und Beispielen automatisieren…
Einige nützliche Optionen, die Sie mit Stoff verwenden können
- Du kannst rennen fab -help Um Hilfeinformationen und eine lange Liste der verfügbaren Befehlszeilenoptionen anzuzeigen.
- Eine wichtige Option ist -fabFile = Pfad Dadurch können Sie eine andere Python -Moduldatei angeben, um sie als andere zu importieren Fabafile.py.
- Um einen Benutzernamen anzugeben, der bei der Verbindung zu Remote -Hosts verwendet wird, verwenden Sie die -user = user Möglichkeit.
- Verwenden Sie das Passwort zur Authentifizierung und/oder sudo, benutze die -Passwort = Passwort Möglichkeit.
- Um detaillierte Informationen zum Befehlsnamen zu drucken, verwenden Sie -Anzeige = Name Möglichkeit.
- Um Formate anzuzeigen -Liste Option, Auswahl: kurz, normal, verschachtelt, verwenden Sie die -Listenformat = Format Möglichkeit.
- Um die Liste möglicher Befehle zu drucken und zu beenden, geben Sie die ein -Liste Möglichkeit.
- Sie können den Speicherort der Konfigurationsdatei mithilfe der Verwendung angeben -config = path Möglichkeit.
- Verwenden Sie eine farbige Fehlerausgabe, um eine farbige Fehlerausgabe anzuzeigen -Färben.
- Verwenden Sie die Versionsnummer und Beenden des Programms, um die Programme zu verwenden -Ausführung Möglichkeit.
Zusammenfassung
Fabric ist ein leistungsstarkes Werkzeug und ist gut dokumentiert und bietet eine einfache Verwendung für Neulinge. Sie können die vollständige Dokumentation lesen, um mehr Verständnis dafür zu erhalten. Wenn Sie Informationen zum Hinzufügen oder Unfall von Fehlern haben, denen Sie während der Installation und Verwendung begegnen, können Sie einen Kommentar hinterlassen und wir werden Wege finden, diese zu beheben.
Referenz: Stoffdokumentation
- « So finden und töten Sie Laufprozesse unter Linux
- So konfigurieren Sie Postfix und Dovecot mit virtuellen Domänenbenutzern unter Linux - Teil 2 »