Altough Fabric documentations refers to a way of using the library for SSH access without requiring the fab command-line tool and/or tasks, I can't seem to manage a way to do it.
I want to run this file (example.py) by only executing 'python example.py':
env.hosts = [ "example.com" ]
def ps():
run("ps")
ps()
Thanks.
I ended up doing this:
from fabric.api import env
from fabric.api import run
class FabricSupport:
def __init__ (self):
pass
def run(self, host, port, command):
env.host_string = "%s:%s" % (host, port)
run(command)
myfab = FabricSupport()
myfab.run('example.com', 22, 'uname')
Which produces:
[example.com:22] run: uname
[example.com:22] out: Linux
#!/usr/bin/env python
from fabric.api import hosts, run, task
from fabric.tasks import execute
@task
@hosts(['user@host:port'])
def test():
run('hostname -f')
if __name__ == '__main__':
execute(test)
More information: http://docs.fabfile.org/en/latest/usage/library.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With