fabric

オンラインドキュメント

https://pypi.org/project/fabric/

https://www.fabfile.org/

インストール

pip install fabric
1

環境の準備

OpenSSH をインストール、サーバの起動を行う。

使い方

以下の内容で fabric_sample1_win-open-ssh.py を作成する。

from fabric import Connection
 
co = Connection("user1@192.168.10.10", connect_kwargs = { "password": "????????" })
 
result = co.run("VER", hide=True)
print( "{0.stdout}".format(result) )
 
co.close()
1
2
3
4
5
6
7
8

コマンドプロンプトで python fabric_sample1_win-open-ssh.py を実行する。

以下の内容で fabric_sample2_win-open-ssh.py を作成する。

from fabric import Connection
import invoke
 
def print_result(result) :
    result_stdout_msg = "{0.stdout}".format(result)
    if len(result_stdout_msg) != 0 :
        print(result_stdout_msg)
    result_stderr_msg = "{0.stderr}".format(result)
    if len(result_stderr_msg) != 0 :
        print(result_stderr_msg)
 
co = Connection("user1@192.168.10.10", connect_kwargs = { "password": "????????" })
 
print("> chdir")
result = co.run("chdir", hide=True)
print_result(result)
 
print("> mkdir opt")
try :
    result = co.run("mkdir opt", hide=True)
except invoke.exceptions.UnexpectedExit:
    # 既にディレクトリが存在している場合、この例外が発生する。
    pass
 
# ファイルを転送
print('> put("./fabric_sample1_win-open-ssh.py", remote="opt/fabric_sample1_win-open-ssh.py")')
result = co.put("./fabric_sample1_win-open-ssh.py", remote="opt/fabric_sample1_win-open-ssh.py")
print(result)
 
print("> dir opt")
result = co.run("dir opt", hide=True)
print_result(result)
 
co.close()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

コマンドプロンプトで python fabric_sample2_win-open-ssh.py を実行する。