[PYTHON] Stoff Schreibtipps

Ich möchte lokal laufen

fabfile.py


from fabric.api import local
def test:
  local("ls")

Befehlszeile


$ fab test

Ich möchte es ausführen, während ich irgendwo auf einen Remote-Server sshing

fabfile.py


from fabric.api import run
def test:
  run("ls")

Befehlszeile


$ fab -i ${key} -u ${user} -H ${host} test

Ich möchte eine Umgebungsvariable aus dem Ausführungsbefehl übergeben und ausführen

fabfile.py


from fabric.api import local
def test(value="hello"):
  local('echo %s' % value)

Befehlszeile


$ fab test
# hello

$ fab test:value=ok
# ok

Ich möchte es im CD-Zustand ausführen

fabfile.py


from fabric.api import cd, lcd, run
def test(value="hello"):
  #Für Einheimische
  with lcd("/var/tmp/"):
    local("pwd")

  #Für Fernbedienung
  with cd("/var/www/"):
    run("pwd")

Befehlszeile


$ fab -i ${key} -u ${user} -H ${host} test
# /var/tmp/
# /var/www/

Ich möchte eine Datei übertragen

fabfile.py


from fabric.api import cd, put, run
def test():
  #SFTP-Übertragung
  put("~/local.txt", "/tmp/remote.txt")

  #Bestätigung
  with cd("/tmp"):
    run("ls")

Befehlszeile


$ fab -i ${key} -u ${user} -H ${host} test
# remote.txt

Ich möchte es mitten in der Verarbeitung in den Ruhezustand versetzen

fabfile.py


import time
from fabric.api import local
def test():
  #Prozess 1
  local('echo A')

  #Warten Sie 30 Sekunden
  time.sleep(30)

  #Prozess 2
  local('echo B')

Ich möchte parallel ausführen

Muster 1 (füge @ parallel zum Code hinzu)

fabfile.py


from fabric.api import parallel

@parallel
def test():
  #wird bearbeitet

Befehlszeile


$ fab -H "host1,host2,host3" test

Muster 2 (mit der Option -P ausführen)

Befehlszeile


$ fab -P -H "host1,host2,host3" test

Recommended Posts

Stoff Schreibtipps
Stoff
Python-Tipps
Jupyters Trick 4
numpy tipps
Jupyters Trick 5
Scapy-Tipps
Jupyters Trick 3
Jupyters Trick 2
Python-Tipps
Python-Tipps
[Tipps] Leicht lesbares Schreiben beim Verbinden von Funktionen in Python