EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

fab – Online in der Cloud

Führen Sie Fab im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist die Befehls-Fab, die beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


fab – Einfaches Pythonic-Remote-Bereitstellungstool

ZUSAMMENFASSUNG


fab [Befehle ...]

BESCHREIBUNG


Die gebräuchlichste Methode zur Verwendung von Fabric ist das Befehlszeilentool. fab, Die
sollte bei der Installation von Fabric im ausführbaren Pfad Ihrer Shell platziert worden sein. fab
bemüht sich, ein guter Unix-Bürger zu sein, indem er einen Standardstil von Befehlszeilenschaltern verwendet,
Hilfeausgabe usw.

ANWENDUNG


Basic -
In seiner einfachsten Form, fab kann ohne Optionen und mit einer oder mehreren aufgerufen werden
Argumente, die Aufgabennamen sein sollten, z. B.:

$ fabelhafte Aufgabe1 Aufgabe2

Das wird laufen Aufgabe 1 gefolgt von Aufgabe 2, vorausgesetzt, dass Fabric eine Fabdatei finden konnte
in der Nähe, die Python-Funktionen mit diesen Namen enthält.

Es ist jedoch möglich, diese einfache Verwendung durch die Verwendung flexibler zu erweitern
die bereitgestellten Optionen und/oder die Übergabe von Argumenten an einzelne Aufgaben.

Willkürlich entfernt Schale Befehle
Neu in Version 0.9.2.

Fabric nutzt eine weniger bekannte Befehlszeilenkonvention und kann im Folgenden aufgerufen werden
Weise:

$ fab [Optionen] – [Shell-Befehl]

wo alles nach dem -- wird in ein Provisorium verwandelt Lauf Anruf und wird nicht analysiert
fab Optionen. Wenn Sie eine Hostliste auf Modulebene oder in der Befehlszeile definiert haben,
Diese Verwendung verhält sich wie eine einzeilige anonyme Aufgabe.

Angenommen, Sie möchten lediglich die Kernel-Informationen für eine Reihe von Systemen abrufen. Du
könnte das machen:

$ fab -H system1,system2,system3 -- uname -a

was im wahrsten Sinne des Wortes der folgenden Fabdatei entsprechen würde:

aus fabric.api-Importlauf

def anonym():
run("uname -a")

als ob es so ausgeführt würde:

$ fab -H system1,system2,system3 anonym

Meistens möchten Sie die Aufgabe einfach in Ihre Fabfile schreiben (was auch immer Sie möchten).
Wenn Sie es einmal verwenden, werden Sie es wahrscheinlich noch einmal verwenden), aber diese Funktion bietet eine praktische und schnelle Möglichkeit, dies zu tun
Führen Sie schnell einen SSH-basierten Befehl aus und nutzen Sie dabei die Verbindungseinstellungen Ihrer Fabfile.

Befehlszeile Optionen
Eine schnelle Übersicht aller möglichen Befehlszeilenoptionen finden Sie unter fab --help. Wenn
Wenn Sie Einzelheiten zu einer bestimmten Option suchen, gehen wir weiter unten näher darauf ein.

Anmerkungen:
fab verwendet Pythons optparse Bibliothek, was bedeutet, dass sie den typischen Linux- oder GNU-Stil berücksichtigt
kurze und lange Optionen sowie das freie Mischen von Optionen und Argumenten. Z.B fab Aufgabe 1
-H hostname Aufgabe 2 -i Pfad/zur/Schlüsseldatei ist genauso gültig wie die einfachere fab
-H hostname -i Pfad/zur/Schlüsseldatei Aufgabe 1 Aufgabe 2.

-a, --no_agent
Sets env.no_agent zu Wahre, wodurch unsere SSH-Schicht gezwungen wird, nicht mit dem SSH-Agenten zu kommunizieren
Ich versuche, private Schlüsseldateien zu entsperren.

Neu in Version 0.9.1.

-EIN, --forward-agent
Sets env.forward_agent zu Wahre, wodurch die Agentenweiterleitung aktiviert wird.

Neu in Version 1.4.

--abort-on-prompts
Sets env.abort_on_prompts zu Wahreund zwingt Fabric zum Abbruch, wann immer es dazu aufgefordert wird
für die Eingabe.

Neu in Version 1.1.

-c RCFILE, --config=RCFILE
Sets env.rc-Datei zum angegebenen Dateipfad, den Fabric beim Start zu laden versucht
und zum Aktualisieren von Umgebungsvariablen verwenden.

-d BEFEHL, --display=BEFEHL
Druckt die gesamte Dokumentzeichenfolge für die angegebene Aufgabe aus, sofern vorhanden. Derzeit nicht
Drucken Sie die Funktionssignatur der Aufgabe aus, daher sind beschreibende Dokumentzeichenfolgen eine gute Idee.
(Sie sind immer eine gute Idee natürlich – nur noch mehr hier.)

--connection-attempts=M, -n M
Legen Sie die Anzahl der Verbindungsversuche fest. Sets env.connection_attempts.

SEHEN EBENFALLS:
env.connection_attempts, env.timeout

Neu in Version 1.4.

-D, --disable-known-hosts
Sets env.disable_known_hosts zu Wahre, wodurch verhindert wird, dass Fabric das SSH des Benutzers lädt
bekannte_hosts Datei.

-f FABFILE, --fabfile=FABFILE
Das Fabfile-Namensmuster, nach dem gesucht werden soll (standardmäßig fabfile.py), oder alternativ ein
expliziter Dateipfad, der als Fabfile geladen werden soll (z. B /path/to/my/fabfile.py.)

SEHEN EBENFALLS:
Fabfiles

-F LIST_FORMAT, --list-format=LIST_FORMAT
Ermöglicht die Kontrolle über das Ausgabeformat von --aufführen. kurz entspricht
--Auswahlliste, normal ist das Gleiche, als würde man diese Option einfach ganz weglassen (d. h. die
Standard) und verschachtelt Gibt einen verschachtelten Namespace-Baum aus.

Neu in Version 1.1.

SEHEN EBENFALLS:
--Auswahlliste, --aufführen

-g GASTGEBER, --gateway=HOST
Sets env.gateway zu HOST Hostzeichenfolge.

Neu in Version 1.5.

-H, --help
Zeigt eine Standard-Hilfemeldung mit allen möglichen Optionen und einer kurzen Übersicht an
Was sie tun, wird dann beendet.

--hide=STUFEN
Eine durch Kommas getrennte Liste von Möglichkeiten für das Ausgangssignal: Cholesterinspiegel standardmäßig ausblenden.

-H GASTGEBER, --hosts=HOSTS
Sets env.hosts zur angegebenen durch Kommas getrennten Liste von Hostzeichenfolgen hinzufügen.

-x GASTGEBER, --exclude-hosts=HOSTS
Sets env.exclude_hosts zu der angegebenen durch Kommas getrennten Liste von Hostzeichenfolgen bis dann
Halten Sie sich aus der endgültigen Hostliste heraus.

Neu in Version 1.1.

-i KEY_FILENAME
Bei Festlegung auf einen Dateipfad wird die angegebene Datei als SSH-Identitätsdatei geladen (normalerweise).
einen privaten Schlüssel.) Diese Option kann mehrmals wiederholt werden. Setzt (oder hängt an)
env.key_filename.

-ICH, --initial-password-prompt
Erzwingt eine Passwortabfrage zu Beginn der Sitzung (nach dem Laden der Fabfile und der Option).
Parsing, aber vor der Ausführung irgendwelcher Aufgaben), um es vorab auszufüllen env.passwort.

Dies ist nützlich für Fire-and-Forget-Läufe (insbesondere parallele Sitzungen, in denen
Laufzeiteingabe ist nicht möglich) beim Setzen des Passwortes über --Passwort oder von
Einstellung env.passwort in Ihrem Fabfile ist unerwünscht.

Anmerkungen:
Der in diese Eingabeaufforderung eingegebene Wert wird überschreiben alles, was über geliefert wird
env.passwort auf Modulebene oder über --Passwort.

SEHEN EBENFALLS:
Passwortverwaltung

-k Sets env.no_keys zu WahreDadurch wird die SSH-Ebene gezwungen, nicht nach dem privaten SSH-Schlüssel zu suchen
Dateien im Home-Verzeichnis.

Neu in Version 0.9.1.

--keepalive=KEEPALIVE
Sets env.keepalive auf den angegebenen (ganzzahligen) Wert und gibt einen SSH-Keepalive an
Intervall.

Neu in Version 1.1.

--zeilenweise
Erzwingt, dass die Ausgabe zeilenweise statt byteweise gepuffert wird. Oft nützlich bzw
erforderlich für Parallel Ausführung.

Neu in Version 1.3.

- l, --aufführen
Importiert wie gewohnt eine Fab-Datei, druckt dann aber eine Liste aller erkannten Aufgaben und
Ausgänge. Druckt auch die erste Zeile der Dokumentzeichenfolge jeder Aufgabe aus, falls vorhanden, als nächstes
dazu (bei Bedarf abschneiden.)

In Version 0.9.1 geändert: Dokumentzeichenfolge zur Ausgabe hinzugefügt.

SEHEN EBENFALLS:
--Auswahlliste, --Listenformat

-p PASSWORT, --password=PASSWORT
Sets env.passwort zur angegebenen Zeichenfolge; es wird dann als Standardpasswort verwendet
beim Herstellen von SSH-Verbindungen oder beim Aufrufen des sudo

SEHEN EBENFALLS:
--initial-password-prompt

-P, --parallel
Sets env.parallel zu Wahre, wodurch Aufgaben parallel ausgeführt werden.

Neu in Version 1.3.

SEHEN EBENFALLS:
/Verwendung/parallel

--no-pty
Sets env.always_use_pty zu falsch, verursacht alles Lauf/sudo ruft dazu auf, sich so zu verhalten, als wäre man einer
angegeben hatte pty=Falsch.

Neu in Version 1.0.

-R, --reject-unknown-hosts
Sets env.reject_unknown_hosts zu Wahre, was dazu führt, dass Fabric beim Herstellen einer Verbindung abbricht
Hosts wurden im SSH des Benutzers nicht gefunden bekannte_hosts Datei.

-R ROLLEN, --roles=ROLLEN
Sets env.roles auf die angegebene durch Kommas getrennte Liste von Rollennamen.

--einstellen SCHLÜSSEL=WERT,...
Ermöglicht das Festlegen von Standardwerten für beliebige Fabric-Umgebungsvariablen. Auf diese Weise festgelegte Werte
haben eine niedrige Priorität – sie überschreiben keine spezifischeren Umgebungsvariablen, die vorhanden sind
wird auch in der Befehlszeile angegeben. Z.B:

fab --set passwort=foo --password=bar

wird darin enden, dass env.passwort = 'Bar'nicht 'foo'

Mehrere SCHLÜSSEL=WERT Paare können durch Kommas getrennt werden, z fab --einstellen
var1=val1,var2=val2.

Abgesehen von den grundlegenden Zeichenfolgenwerten können Sie env vars auch auf „True“ setzen, indem Sie das weglassen
=WERT (z.B fab --einstellen WESENTLICHE), und Sie können Werte auf die leere Zeichenfolge setzen (und damit a
Falscher äquivalenter Wert), indem das Gleichheitszeichen beibehalten, aber weggelassen wird BEWERTUNG (z.B fab
--einstellen SCHLÜSSEL=.)

Neu in Version 1.4.

-s HÜLSE, --shell=SHELL
Sets env.shell auf die angegebene Zeichenfolge und überschreibt dabei den standardmäßigen Shell-Wrapper
Remote-Befehle ausführen.

--Auswahlliste
Ähnlich --aufführen, aber ohne jegliche Ausschmückung, nur durch getrennte Aufgabennamen
Zeilenumbrüche ohne Einrückung oder Dokumentzeichenfolgen.

Neu in Version 0.9.2.

SEHEN EBENFALLS:
--aufführen

--show=STUFEN
Eine durch Kommas getrennte Liste von Möglichkeiten für das Ausgangssignal: Cholesterinspiegel zu denen hinzugefügt werden, die von angezeigt werden
default.

SEHEN EBENFALLS:
Lauf, sudo

--ssh-config-path
Sets env.ssh_config_path.

Neu in Version 1.4.

SEHEN EBENFALLS:
ssh-config

--skip-bad-hosts
Sets env.skip_bad_hosts, was dazu führt, dass Fabric nicht verfügbare Hosts überspringt.

Neu in Version 1.4.

--skip-unknown-tasks
Sets env.skip_unknown_tasks, was dazu führt, dass Fabric unbekannte Aufgaben überspringt.

SEHEN EBENFALLS:
env.skip_unknown_tasks

--timeout=N, -t N
Stellen Sie das Verbindungs-Timeout in Sekunden ein. Sets env.timeout.

SEHEN EBENFALLS:
env.timeout, env.connection_attempts

Neu in Version 1.4.

--command-timeout=N, -T N
Legen Sie das Zeitlimit für Remote-Befehle in Sekunden fest. Sets env.command_timeout.

SEHEN EBENFALLS:
env.command_timeout,

Neu in Version 1.6.

-u BENUTZER, --user=BENUTZER
Sets env.user zur angegebenen Zeichenfolge; Er wird dann als Standardbenutzername verwendet
beim Herstellen von SSH-Verbindungen.

-V, --Version
Zeigt die Versionsnummer von Fabric an und wird dann beendet.

-w, --warn-only
Sets env.warn_only zu Wahre, was dazu führt, dass Fabric die Ausführung auch dann fortsetzt, wenn Befehle ausgeführt werden
auf Fehlerbedingungen stoßen.

-z, --Pool Größe
Sets env.pool_size, der angibt, wie viele Prozesse gleichzeitig ausgeführt werden sollen
parallele Ausführung.

Neu in Version 1.3.

SEHEN EBENFALLS:
/Verwendung/parallel

Pro Aufgabe Argumente
Die in angegebenen Optionen Befehlszeilenoptionen gelten für den Aufruf von fab als Ganzes; sogar
Wenn die Reihenfolge vertauscht ist, gelten die Optionen dennoch für alle gegebenen Aufgaben gleichermaßen.
Da es sich bei Aufgaben außerdem lediglich um Python-Funktionen handelt, ist die Übergabe häufig wünschenswert
Argumente für sie zur Laufzeit.

Um diese beiden Anforderungen zu erfüllen, ist das Konzept der „pro-task-Argumente“ etwas Besonderes
Syntax, die Sie an das Ende eines beliebigen Aufgabennamens anhängen können:

· Verwenden Sie einen Doppelpunkt (:), um den Aufgabennamen von seinen Argumenten zu trennen;

· Verwenden Sie Kommas (,), um Argumente voneinander zu trennen (kann mit a maskiert werden).
Backslash, d.h \,);

· Verwenden Sie Gleichheitszeichen (=) für Schlüsselwortargumente oder lassen Sie sie für Positionsargumente weg. Mai
auch mit Backslashes maskiert werden.

Da dieser Prozess außerdem das Parsen von Zeichenfolgen beinhaltet, werden alle Werte am Ende als Python-Werte ausgegeben
Saiten, also planen Sie entsprechend. (Wir hoffen, dies in zukünftigen Versionen von Fabric verbessern zu können,
sofern eine intuitive Syntax gefunden werden kann.)

Beispielsweise könnte eine Aufgabe „Neuen Benutzer erstellen“ so definiert werden (wobei die meisten davon weggelassen werden).
tatsächliche Logik der Kürze halber):

def new_user(username, admin='no', comment="Kein Kommentar angegeben"):
print("Neuer Benutzer (%s): %s" % (Benutzername, Kommentar))
passieren

Sie können nur den Benutzernamen angeben:

$ fab neuer_Benutzer:meinBenutzername

Oder behandeln Sie es als explizites Schlüsselwortargument:

$ fab new_user:username=myusername

Wenn beide Argumente angegeben sind, können Sie sie erneut als Positionsargumente angeben:

$ fab new_user:myusername,yes

Oder mischen und kombinieren, genau wie in Python:

$ fab new_user:myusername,admin=yes

Das drucken Der obige Aufruf ist nützlich, um maskierte Kommas zu veranschaulichen, etwa so:

$ fab new_user:myusername,admin=no,comment='Gary\, neuer Entwickler (beginnt Montag)'

Anmerkungen:
Es ist erforderlich, das Komma mit Backslash-Escape in Anführungszeichen zu setzen, da andernfalls eine Shell verursacht wird
Syntaxfehler. Anführungszeichen sind auch immer dann erforderlich, wenn ein Argument andere Shell-bezogene Themen betrifft
Zeichen wie Leerzeichen.

Alle oben genannten Punkte werden in die erwarteten Python-Funktionsaufrufe übersetzt. Zum Beispiel die
Der letzte Aufruf oben würde lauten:

>>> new_user('myusername', admin='yes', comment='Gary, neuer Entwickler (beginnt Montag)')

Rollen und Gastgeber
Presse Abschnitt on Auftrag Ausführunggibt es eine Handvoll Schlüsselwörter pro Aufgabe
Argumente (Gastgeber, Gastgeber, Rolle und Rollen), die eigentlich nicht den Aufgabenfunktionen zugeordnet sind
selbst, werden aber zum Festlegen von Host- und/oder Rollenlisten pro Aufgabe verwendet.

Diese besonderen Kwargs sind entfernt aus den an die Task-Funktion selbst gesendeten Argumenten/Kwargs;
Dies dient dazu, dass Sie nicht auf TypeErrors stoßen, wenn Ihre Aufgabe die Kwargs in nicht definiert
Frage. (Es bedeutet auch, dass, wenn Sie do Definieren Sie Argumente mit diesen Namen, das werden Sie nicht tun
in der Lage, sie auf diese Weise zu spezifizieren – ein bedauerliches, aber notwendiges Opfer.)

Anmerkungen:
Wenn sowohl die Plural- als auch die Singularform dieser Kwargs angegeben sind, wird der Wert der
Der Plural wird siegen und der Singular wird verworfen.

Wenn Sie die Pluralform dieser Argumente verwenden, müssen Sie Semikolons verwenden (;) seit Kommas
werden bereits verwendet, um Argumente voneinander zu trennen. Darüber hinaus, da Ihr
Da die Shell Semikolons wahrscheinlich als Sonderzeichen betrachtet, sollten Sie den Host in Anführungszeichen setzen
Listenzeichenfolge, um Shell-Interpretation zu verhindern, z. B.:

$ fab new_user:myusername,hosts="host1;host2"

Wieder seit dem Gastgeber kwarg wird aus der an den gesendeten Argumentliste entfernt neuer Benutzer Auftrag
Funktion wäre der eigentliche Python-Aufruf new_user('meinBenutzername'), und die Funktion
würde auf einer Hostliste von ausgeführt werden ['host1', 'host2'].

Einstellungen Dateien
Fabric berücksichtigt derzeit eine einfache Benutzereinstellungsdatei oder Stoffrc (denken bashrc aber
fab), die ein oder mehrere Schlüssel-Wert-Paare enthalten sollte, eines pro Zeile. Diese Zeilen werden sein
unterliegt string.split('=')und kann daher derzeit nur zur Angabe von Zeichenfolgen verwendet werden
Einstellungen. Alle diese Schlüssel-Wert-Paare werden zur Aktualisierung verwendet env wann fab läuft und wird geladen
vor dem Laden einer Fabdatei.

Standardmäßig sucht Fabric nach ~/.fabricrc, und dies kann durch Angabe von überschrieben werden -c
Flagge zu fab.

Wenn sich beispielsweise Ihr typischer SSH-Anmeldebenutzername von Ihrem Workstation-Benutzernamen unterscheidet,
und Sie möchten nichts ändern env.user in der Fab-Datei eines Projekts (möglicherweise, weil Sie es erwarten
andere, um es auch zu verwenden) könnten Sie eine schreiben Stoffrc Datei wie folgt:

user = ssh_user_name

Dann beim Laufen fab, Ihr Fabfile würde mit geladen werden env.user einstellen 'ssh_user_name'.
Andere Benutzer dieser Fab-Datei könnten das Gleiche tun, sodass die Fab-Datei selbst sauber bleibt
Agnostisch bezüglich des Standardbenutzernamens.

Nutzen Sie Fab online mit den onworks.net-Diensten


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad